久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
樓主: Similarv
打印 上一主題 下一主題
收起左側

請工程化,定制化你的單片機代碼

    [復制鏈接]
回帖獎勵 40 黑幣 回復本帖可獲得 2 黑幣獎勵! 每人限 1 次
361#
ID:28752 發表于 2021-7-27 22:25 | 只看該作者
謝謝大師,解惑了...
回復

使用道具 舉報

362#
ID:915029 發表于 2021-7-28 15:20 | 只看該作者
正好可以對以后代碼風格有一個方向
回復

使用道具 舉報

363#
ID:953589 發表于 2021-7-29 08:08 | 只看該作者
很好的文章,加強了對定時器的理解
回復

使用道具 舉報

364#
ID:915029 發表于 2021-7-29 11:13 來自手機 | 只看該作者
Similarv 發表于 2020-1-13 16:52
你的做法當然也沒有問題,不過我是這么做的:
按鍵就只是做按鍵檢測,并且設置相應的“按鍵已觸發”標志 ...

想問樓主,key press time是怎樣和按壓按鍵時間聯系的,也就是按多長時間,time增加多少,這點我有點想不明白,是if(++key~press~time)這個語句嗎?
回復

使用道具 舉報

365#
ID:451287 發表于 2021-8-2 14:58 | 只看該作者
學到了新的編程思路,不用再DELAYMS(),浪費系統資源
回復

使用道具 舉報

366#
ID:957885 發表于 2021-8-2 21:33 | 只看該作者
我想問一下,這里的
“從微觀上看,單片機是沒法在同一時刻做2件事情的!所以,每到10ms的時候,單片機會”先把1ms的事情做完再做10ms的事“;每到100ms的時候,單片機會”先把1ms的事情做完再做10ms的事,再做100ms的事”
是不是一個單片機一個默認的優先級嗎?如果是這樣,那么有些程序中“忙則等待”是不是為了避免1ms的事到10ms時還沒做完,兩件事同時做而讓單片機死機嗎?
希望樓主解答
回復

使用道具 舉報

367#
ID:476527 發表于 2021-8-3 08:45 | 只看該作者
queen11 發表于 2021-7-29 11:13
想問樓主,key press time是怎樣和按壓按鍵時間聯系的,也就是按多長時間,time增加多少,這點我有點想不 ...

key_press_time是一個當某鍵被按下時,去數(第三聲)數(第四聲)的一個變量;
而這個變量所在的函數,是一個每1ms執行一次的函數,故而key_press_time每數一次數,按鍵就被持續按下了多少ms
回復

使用道具 舉報

368#
ID:476527 發表于 2021-8-3 08:47 | 只看該作者
小麥種子 發表于 2021-8-2 21:33
我想問一下,這里的
“從微觀上看,單片機是沒法在同一時刻做2件事情的!所以,每到10ms的時候,單片機會 ...

沒有你想的那么復雜,之所以是先做1ms的事在做10ms的事再做100ms的事,只是因為編寫代碼時,1ms的程序被放在了10ms的程序和100ms的程序的前面,你如果喜歡的話可以把100ms的程序放前面。
回復

使用道具 舉報

369#
ID:958310 發表于 2021-8-4 14:49 | 只看該作者
真是好文章啊
回復

使用道具 舉報

370#
ID:816988 發表于 2021-8-4 21:15 | 只看該作者
好帖子,學習中,樓主加油
回復

使用道具 舉報

371#
ID:958897 發表于 2021-8-5 20:34 | 只看該作者
初學者,受益良多!感謝
回復

使用道具 舉報

372#
ID:959049 發表于 2021-8-5 22:01 | 只看該作者
堪比教科書級別的文章
回復

使用道具 舉報

373#
ID:927469 發表于 2021-8-25 07:03 | 只看該作者
非常好的學習貼,謝謝分享
回復

使用道具 舉報

374#
ID:810999 發表于 2021-8-25 16:40 | 只看該作者
非常不錯,學習了。
回復

使用道具 舉報

375#
ID:585365 發表于 2021-8-26 11:02 | 只看該作者
雖然不是特別理解,但確實值得學習
回復

使用道具 舉報

376#
ID:382826 發表于 2021-8-27 19:06 | 只看該作者
收藏,學習了!
回復

使用道具 舉報

377#
ID:907347 發表于 2021-8-28 09:27 | 只看該作者
確實不錯,大家不要用無腦循壞了
回復

使用道具 舉報

378#
ID:854029 發表于 2021-8-29 16:59 | 只看該作者
雖然我看不懂,但還是覺得很厲害的樣子
回復

使用道具 舉報

379#
ID:569384 發表于 2021-8-31 09:06 | 只看該作者
delay有毒
回復

使用道具 舉報

380#
ID:78901 發表于 2021-11-13 17:44 | 只看該作者
真是定時延時的好文章
回復

使用道具 舉報

381#
ID:34149 發表于 2021-11-15 16:49 | 只看該作者
謝謝,老師的指導!
回復

使用道具 舉報

382#
ID:624685 發表于 2021-11-15 17:16 | 只看該作者
看完還是有點糊涂,努力學習
回復

使用道具 舉報

383#
ID:980153 發表于 2021-11-16 09:25 | 只看該作者
謝謝分享,真的是好資料!
回復

使用道具 舉報

384#
ID:927850 發表于 2021-11-16 10:23 | 只看該作者
學習了,非常不錯的文章
回復

使用道具 舉報

385#
ID:384081 發表于 2021-11-17 08:43 | 只看該作者
高手,膜拜了
回復

使用道具 舉報

386#
ID:410182 發表于 2021-11-22 15:33 | 只看該作者
多謝樓主分享!有空的話能再分享一些嗎
回復

使用道具 舉報

387#
ID:254747 發表于 2021-11-24 17:20 | 只看該作者
if(++key_press_time <=0 ) --key_press_time; 這句我理解不了 哪個大師給我將一下  怎么加了又減啊 是防止數據溢出嗎  能講一下嗎   

回復

使用道具 舉報

388#
ID:254747 發表于 2021-11-24 17:21 | 只看該作者
這個帖子安逸   我這幾天就到處找 怎么把按鍵的 while()這個檢測給干掉  沒有想到在這里看到了  現在我寫的程序都不用 delay了 哈哈哈
回復

使用道具 舉報

389#
ID:984566 發表于 2021-11-25 11:09 | 只看該作者

很不錯的文章,啟迪匪淺。
回復

使用道具 舉報

390#
ID:548757 發表于 2021-11-25 17:49 | 只看該作者
兩年多!眾望期待更新!。。!
回復

使用道具 舉報

391#
ID:875095 發表于 2021-11-27 17:04 | 只看該作者
入門必備啊,寫的好
回復

使用道具 舉報

392#
ID:59830 發表于 2021-11-27 18:43 | 只看該作者
不錯的知識點,值得初學者學習.
回復

使用道具 舉報

393#
ID:964852 發表于 2021-11-28 10:29 | 只看該作者
大師,更新下,正好想學習下狀態機
回復

使用道具 舉報

394#
ID:509408 發表于 2021-11-29 17:27 | 只看該作者
不同的功能函數可以單獨定義一套自己的計時時基變量(通常是1ms)、調用標志、內部子步驟執行號(step)等等。其中把時基變量放進定時器里面累加或遞減,一些你想要共享給外部調用數據可以定義成全局變量、方便獨立調試排除問題。 以下是我常用的程序框架 (這里隨便放了一段)
void Demon_B(void)  {
    if(lgRunTime_B <cTimes_B)     return;        //定時時間未到 return不往下執行。
    {
        lgRunTime_B = 0;        //定時時間清0
        if(FLAG_B & SET_Flow1){        //需要演示的標志立起?

          if(cgStep_B==0){       //步驟0
             //執行代碼
            cTimes_B = 10;    //延時10ms  
        }else if(cgStep_B==1){   //步驟1
            //執行代碼  
           cTimes_B = 1000;//延時1000ms   
       } else{;}
         if(++cgStep_B>5)     cgStep_B = 0;        //步驟號大于5
      }}}
按照這樣思路創建不同功能的ABCD函數(名字懶得取-_-),每個函數有自己的獨立延時而不會引起干擾動作。執行步驟號中也可以塞入一些帶返回值函數、其他功能的全局變量、標志什么的 if 判斷一下,不符合就簡單粗暴的return掉,前提是你自己的邏輯思路要清晰,原則上應盡量減少函數之間的耦合以提高效率。最后主調函中用 FLAG_B 標志調用或關閉它們,很方便靈活。
回復

使用道具 舉報

395#
ID:254747 發表于 2021-11-29 17:31 | 只看該作者

哪位大哥給我講一下哦     是不是 殘值  就比如  用戶隨便按了一下  保留的值在里面    后面自己清理了
回復

使用道具 舉報

396#
ID:965189 發表于 2021-11-29 22:06 | 只看該作者
好料,是我等初哥學習的好東西。
回復

使用道具 舉報

397#
ID:476527 發表于 2021-11-30 09:12 | 只看該作者

是防止它溢出,限制它只往上加,加到最大之后就不再增加
其實這個代碼我一般不這么寫的,這案例是我把我經常用的 宏函數 給展開了:

#define JINC(x) if(++x <= 0) --x  //自增x,且不使其溢出

這樣定義一個宏之后,以后凡是只想進行 “變量自增”操作又不想要變量溢出的時候,只要直接用這個宏就好啦。
例如本案例的源碼其實是:

JINC(key_press_time);
回復

使用道具 舉報

398#
ID:254747 發表于 2021-11-30 09:56 | 只看該作者
Similarv 發表于 2021-11-30 09:12
是防止它溢出,限制它只往上加,加到最大之后就不再增加
其實這個代碼我一般不這么寫的,這案例是我把我 ...

非常感謝指導  謝謝  
回復

使用道具 舉報

399#
ID:969161 發表于 2021-11-30 22:12 | 只看該作者
好資料,好文章。
回復

使用道具 舉報

400#
ID:969161 發表于 2021-11-30 23:30 | 只看該作者
這個資料讓我增長很多思路,寫代碼有明顯提高了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩人体视频 | 三级视频国产 | 九九99靖品| 国产在线精品一区二区三区 | av日韩精品| 中文二区 | 中文字幕 视频一区 | 91日韩| 国产视频中文字幕 | 久久久精 | 天天操一操 | 中文字幕亚洲欧美 | 亚洲国产福利视频 | 在线观看av网站 | 一区2区 | 午夜理伦三级理论三级在线观看 | 亚洲一区久久 | 免费一看一级毛片 | 国产91久久精品一区二区 | 精品欧美乱码久久久久久 | 欧美99| 精品视频一区二区三区在线观看 | 日韩三区在线 | 97国产精品视频人人做人人爱 | 日韩在线一区二区 | 91av久久久 | 日日夜夜精品视频 | 国产伦一区二区三区 | 毛片a区| 91 视频网站 | 成人精品免费 | 精品一区二区三区日本 | 亚洲国产网 | 亚洲欧洲精品在线 | 久久久久国产 | 欧美一级黄色片免费观看 | 久久久久国产精品一区二区 | 成人免费小视频 | 成人黄页在线观看 | 欧产日产国产精品v | 久久er99热精品一区二区 |