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

標題: 請工程化,定制化你的單片機代碼 [打印本頁]

作者: Similarv    時間: 2019-6-6 11:48
標題: 請工程化,定制化你的單片機代碼
- 系統的時鐘基線 -- 按鍵函數舉例 -
  1. void keyPress(){
  2.     static unsigned int key_press_time = 0;  // ……請記得標為靜態變量
  3.     if(K1==0){
  4.         if(++key_press_time <=0 ) --key_press_time;//計量按鍵時間,并避免數據溢出
  5.         if(key_press_time==3000){
  6.             //在此寫下按鍵長按3s時要做的事情;
  7.         }
  8.     }else{
  9.         if(20<=key_press_time && key_press_time < 3000){
  10.             //大于20ms小于3s,視為短按,在此寫下寫短按的處理代碼
  11.         }
  12.         key_press_time=0;
  13.     }
  14. }
復制代碼


-  多個時鐘基線的方案  -
-  函數應該放在哪個時基里?  -
作者: Similarv    時間: 2019-6-6 16:41
如果有需要,我可以把相關的主程序和架構打包上傳……不過說實話這些代碼隨便敲敲就有了,需要鍛煉的是一種“精準控制”軟件的邏輯的思維。
跑快了的東西我們把它放慢些,跑慢了的東西給它放快些。
對于一個系統來說,“平衡”是很重要的事情。

最后再說一句,while(1)大循環里面不要放“delay();”或者“while(按鍵被按下);”了……
作者: 13327291097    時間: 2019-6-6 20:53
很好的文章,請繼續。感謝!
作者: nsush    時間: 2019-6-7 00:36
我對delay1s(); delay500ms()這樣的延時函數就很不爽,當然程序流程很簡單的,用用也沒什么,如果是一個還算比較長的程序,使用delay1s(); delay500ms()這種就是在人為遲滯片子的運行,響應不過來又要罵,完全不會看自己做的程序寫的是什么狗 p。你可以發現,凡是這樣搞的,里面的變量,定義亂七八糟,想怎么寫就怎么寫。只要編譯的過,不求后面優化。
以前的專業程序員,可是對單片機了如指掌,每一點一滴的性能,一個字節都很珍惜,寫的程序兼職就是藝術品。
之前我們這也有個做機構設計的,畫的加工件,完全不考慮加工難度,想怎么畫就怎么畫,機構極度粗 暴yu 蠢,我看不下去了,問他還就一句話,加工不管我的事,一個月不到就讓他滾 蛋了。
作者: 1339337425    時間: 2019-6-7 00:42
真的是好文章,對51定時器的理解更深了,原來程序還能這么寫
作者: Similarv    時間: 2019-6-10 10:04
nsush 發表于 2019-6-7 00:36
我對delay1s(); delay500ms()這樣的延時函數就很不爽,當然程序流程很簡單的,用用也沒什么,如果是一個還 ...

哈哈哈,做技術的可不能只管自己那小小的一畝三分地啊,不去學習和進步終究要被淘汰的。
還有些人在步入一個新領域的時候總是抱著玩一下的心態,勉強能用就行,卻不想把事情做到更好,其實也是自己限制住了自己的成長。
作者: Similarv    時間: 2019-6-10 17:25
@admin 這應該是個比較長的教程,預計下下次更新才能寫完,屆時再發些源碼和參考例程
作者: gm388    時間: 2019-6-10 21:08
不錯的文章,希望有后續
作者: abc111111    時間: 2019-6-11 10:13
很好,學習了,現在實踐一下
作者: muzhi    時間: 2019-6-12 11:56
學習了  很受用  會慢慢去嘗試應用  期待后續
作者: m182892    時間: 2019-6-13 09:04
謝謝分享,多發一些類似文章。
作者: 無語奧蒼天    時間: 2019-6-13 10:53
他們寫程序粗的不行,可能自己覺的學個框架就算是學到了整個語言的精華,殊不知差得遠呢。
作者: qijun68    時間: 2019-6-13 11:30
支持持續更新,很好的東西。
作者: s1gm    時間: 2019-6-13 12:24
好文章,好理論,!通熟易懂!
作者: gpdt3209    時間: 2019-6-13 13:46
期待樓主的新文章
作者: univers    時間: 2019-6-13 21:19
專家講解,學習了。
作者: abc111111    時間: 2019-6-14 02:25
感謝樓主,學習到了
作者: gt00666    時間: 2019-6-14 06:48
這個必須加精啊,新手不知道有沒有收藏功能
作者: xiaojian365    時間: 2019-6-14 08:38
很不錯的文章,啟迪匪淺。
作者: 向日葵男人    時間: 2019-6-14 09:24
好文章!
作者: 狂野的野馬    時間: 2019-6-14 10:18
很不錯的文章,請繼續
作者: stlong    時間: 2019-6-14 11:31
感謝樓主的文章!
作者: 亞可    時間: 2019-6-14 17:13
怎么關注樓主?感覺寫的很有意思
作者: kissme    時間: 2019-6-16 11:24
新手完全不曉得你說的啥玩意
作者: Similarv    時間: 2019-6-16 12:05
kissme 發表于 2019-6-16 11:24
新手完全不曉得你說的啥玩意

那就請新手(自稱)們加油,這帖子本來就是進階教程,希望他們先將基礎打牢
作者: pxj666    時間: 2019-6-17 18:05
感謝樓主,學到了很多
作者: QZQ1973    時間: 2019-6-17 22:30
很不錯的文章
作者: ealoo    時間: 2019-6-18 09:05
很好的編程思路,條理清晰,把復雜的事情簡單化。
作者: JokerAlon    時間: 2019-6-18 12:55
好貼!!!
作者: bruce-lou    時間: 2019-6-18 16:16
送人玫瑰,手有余香
作者: yachcs    時間: 2019-6-19 15:30
很好的技術貼
作者: wulingqing    時間: 2019-6-20 08:39
很好的文章,請繼續。感謝!
作者: 人有福    時間: 2019-6-20 10:48
樓主經驗豐富,編程思想總結的很好,文章寫得也很棒,希望可以繼續分享,感謝!
作者: tesrsm    時間: 2019-6-20 12:01
去除按鍵的抖動 不用延時函數的話,怎么處理
作者: Similarv    時間: 2019-6-20 13:30
tesrsm 發表于 2019-6-20 12:01
去除按鍵的抖動 不用延時函數的話,怎么處理

用靜態變量去統計按鍵的時間,隨后對此時間進行裁決。
延時只會讓你的程序卡在那里一段時間,動彈不得。
作者: lianzai    時間: 2019-6-20 13:46
好文章,不知樓主能否弄成pdf格式上傳呢,想保存起來
作者: Similarv    時間: 2019-6-20 14:29
lianzai 發表于 2019-6-20 13:46
好文章,不知樓主能否弄成pdf格式上傳呢,想保存起來

等我抽空把狀態機的下半部分寫完先再說吧
作者: 1534545848    時間: 2019-6-20 18:27
這樣就是操作系統的雛形
作者: xqs_118    時間: 2019-6-21 15:13
高手,膜拜了。
作者: jacklgl    時間: 2019-6-24 11:34
不錯學習了
作者: csanta    時間: 2019-6-24 12:56
很實用!謝分享!
作者: kip1998    時間: 2019-6-24 17:21
寫的很好樓主niubi,優化設計真的要很仔細的打磨!
作者: wangwing    時間: 2019-6-24 20:26
非常有指導意義
作者: wangwing    時間: 2019-6-24 22:33
非常有參考意義,受教了
作者: TTQ001    時間: 2019-6-25 09:10
好技術, 好文章,感謝分享


作者: 深情不是舔    時間: 2019-6-25 15:23
模塊化值得學習
作者: genbenbuhui    時間: 2019-6-27 10:47
學到了 感謝樓主
作者: 凱旋小飛    時間: 2019-6-27 17:25
小生愚鈍,指導內容抱回家感悟,感謝樓主教導!
作者: univers    時間: 2019-7-3 22:51
我以仔細看了一遍,謝謝大神。
作者: scq330    時間: 2019-7-5 00:25
新手努力學習中,謝謝樓主的好資料。
作者: m182892    時間: 2019-7-5 09:00
期待后續章節,源程序打包上傳。
作者: yzhbyyy    時間: 2019-7-5 10:07
受益匪淺啊,繼續學習。
作者: FJ2018    時間: 2019-7-5 10:49
好文章,值得學習
作者: cliang223    時間: 2019-7-5 14:32
寫的很好,很值得學習
作者: 鵬博士PBs    時間: 2019-7-6 00:23
漲知識了
作者: 小小的樹葉    時間: 2019-7-6 08:13
好文章,謝謝分享
作者: 164652999    時間: 2019-7-6 17:20
好文章,讓人茅塞頓開
作者: 阿紋    時間: 2019-7-6 21:38
思路很重要,經驗也很重要,感謝分享。
作者: waerdeng    時間: 2019-7-7 09:11
感謝樓主謝謝分享
作者: wj_yuq    時間: 2019-7-7 11:43
好文章,隨著涉及的“設備”從LED開始逐漸廣泛到以功能、總線林林總總不同類別的器件,工程化,系統化,模塊化是必由之路,也是掌握編程軟件由入門到不同深入水平的標志
作者: xoxojojo    時間: 2019-7-7 14:19
打開新世界大門
作者: Similarv    時間: 2019-7-7 19:26
很抱歉的告訴大家,之前的想法還是太樂觀,現在每天忙成狗,完全不確定啥時候能抽時間寫完,7月15日要是沒有更新的話還請大家諒解。

不過我是不會就這么停筆的,只是不知道啥時候有時間寫而已。作為打工仔,真的身不由己。
為了不辜負大家的期待,下次更新時我會把文檔做成pdf,附帶源碼,流程圖,表格一并上傳。

其實還有很多可以寫的地方,但是現在這篇帖子就寫這3點——時基,模塊化,狀態機——已經夠大家消化一陣子了。而且,如果帖子的篇幅太長了,其實不利于閱讀的。
以后如果還有別的分享,我會另開帖子的,多蹭點管理員的黑幣,哈哈。

作者: 313583581    時間: 2019-7-7 22:06
煥然一新的思路,受教了
作者: 2448289424    時間: 2019-7-8 01:36
樓主是出來工作了還是還在讀書自學單片機,看了你發了這篇寫得挺好的,之前讀書那會對時鐘這東西根本就沒概念,就像你說的只會delay 或者while死等,,,你發的這個對于在自學或者準備入門單片機的人來說很好,,想到以前在學校老師哪懂這些就按書本delay教,根本不會聯系實際去告訴我們,直到畢業出來工作才知道自己多么笨,,還停留在delay這玩意,,看完你寫了這個真是感慨。!
作者: mengchen12    時間: 2019-7-8 05:34
樓主的創意非常好,支持!
作者: m182892    時間: 2019-7-8 08:21
我覺得這個帖子可以繼續加深,例程要多,到一定的程度可以出版書籍。
作者: shouhmzhl    時間: 2019-7-8 08:45
不錯,非常感謝你的分享!
作者: 大娃丶    時間: 2019-7-8 09:03

高手,膜拜了。
作者: perfect98    時間: 2019-7-8 10:20

感謝樓主謝謝分享
作者: Similarv    時間: 2019-7-8 19:54
2448289424 發表于 2019-7-8 01:36
樓主是出來工作了還是還在讀書自學單片機,看了你發了這篇寫得挺好的,之前讀書那會對時鐘這東西根本就沒概 ...

剛好畢業一年而已,在這過程中也算學了點皮毛,就想整理一下思路
作者: Similarv    時間: 2019-7-8 19:57
m182892 發表于 2019-7-8 08:21
我覺得這個帖子可以繼續加深,例程要多,到一定的程度可以出版書籍。

哦?小伙子,我覺得你說的很有道理耶,不過寫書確實是個大工程,篇幅也要夠,目前還是以分享為主,日后再整理成稿。
作者: a524075233    時間: 2019-7-9 06:54
優秀的文章 感謝樓主的指導 我會繼續努力
作者: donydong    時間: 2019-7-9 13:54
非常好,期待更新。
作者: 我要打十個    時間: 2019-7-9 19:36
看到開口的吐槽就深得我心
作者: liu888888    時間: 2019-7-10 15:17
這是實戰貼,接地氣,看懂了受益頗多
作者: lsz28    時間: 2019-7-11 00:52
很好的文章,請繼續。感謝!
作者: ztb096001    時間: 2019-7-26 08:27

謝謝分享,多發一些類似文章。
作者: zhuyuye    時間: 2019-7-26 08:57
分析的好極了,加油!
作者: qq76832893    時間: 2019-7-26 08:59
感謝大神,期待后續!
作者: 小黑屋525    時間: 2019-7-26 09:11
好文,最近師傅也這樣子說太浪費單片機資源。
作者: 454473587    時間: 2019-7-28 11:09
謝謝樓主慷慨,很好的一篇文章,不過得慢慢消化,期待源碼
作者: yasi666    時間: 2019-7-31 16:53
謝謝了,這位兄弟分享了他的編程精髓,看了之后很受教。我是一個初學者,萬分感謝
作者: shenchaobiao    時間: 2019-7-31 21:08
好文,這是結合硬件實際的結構化編程思想、
作者: ccdmcu    時間: 2019-8-2 16:22
按鍵的松手檢測呢?怎么用定時器寫?
作者: 難得糊涂2018    時間: 2019-8-2 18:55
學習了,你的想法好!
作者: 上善若水001    時間: 2019-8-2 19:56
感謝發出這么好的文章,持續關注中!
作者: Similarv    時間: 2019-8-2 20:36
ccdmcu 發表于 2019-8-2 16:22
按鍵的松手檢測呢?怎么用定時器寫?

我不是給了個keyPress()程序么,你再好好看看。
簡單來說,有鍵按下時,時間就會++;
無鍵按下時,時間就會清零。
但在清零之前會先檢查,時間是否大于0,時間值大于0(或者消抖值)說明曾經有鍵按下過,并且剛剛松開。這時候處理“這次按鍵”不就好了。
作者: 澤文i    時間: 2019-8-5 10:34
將單片機程序工程化的好處,就在于后期升級和改進,將變得無比的方便。尤其是模塊化以后,對相關的功能進行升級,只需要針對這一部分進行修改就可以。


作者: DJDN    時間: 2019-8-7 08:33
Mark      

作者: happynocn    時間: 2019-8-7 09:04
感謝分享,前來學習一下。
作者: 鵬博士PBs    時間: 2019-8-7 10:14
不錯不錯 漲知識了
作者: laishu12345    時間: 2019-8-8 17:09
樓主的程序確實寫得很好,思路清晰,比教材上的程序更實用
作者: 252622979    時間: 2019-8-8 20:46
好文章,收藏了
作者: duanyazhou    時間: 2019-8-9 08:38
難得的良師
作者: zyi    時間: 2019-8-9 10:26
工程復雜用狀態機方式編程,或上實時系統
作者: zcl1976    時間: 2019-8-9 12:09
文章不錯,搞技術的多替客戶想一點,肯定沒錯。忽悠是做不了長遠的。
作者: tt98    時間: 2019-8-9 14:31
寫得不錯,后續有更深入的文章更好!
作者: a89588038    時間: 2019-8-9 14:38
持續關注,樓主厲害。。!
作者: laishu12345    時間: 2019-8-9 17:08
if(++key_press_time <=0 ) --key_press_time;//計量按鍵時間,并避免數據溢出        樓主問個問題,key_press_time這個參數是無符號整型,++key_press_time 不會小于等于0吧!
作者: shenyuqiu    時間: 2019-8-10 10:38
樓主這文章比那些所謂的教科書好多了,那些教科書按鍵消抖動不動就是delay(20ms),真是誤人子弟,真正出來做到大型項目才知道 DELAY是多么不實際。希望樓主繼續更新,最好轉成PDF,多點例程,尤其是一些按鍵的,短按,長按,雙擊組合鍵例程。現在絕大部份寫按鍵程序都喜歡delay消抖,while松手檢測。郭天詳的書也是這么教的,一點不實用




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 午夜视频在线观看一区二区 | 天天碰日日操 | 拍戏被cao翻了h承欢 | 伊人免费在线观看高清 | 亚洲国产欧美日韩 | 69亚洲精品 | 中文字幕福利 | 国产视频一区二区在线观看 | 国产中文字幕亚洲 | 成人网在线 | 国产精品久久久久久久久久久免费看 | 日韩欧美在 | 欧美日韩在线观看视频网站 | 欧美国产精品一区二区 | 丁香综合| 精品国产一区二区在线 | 欧美一级视频在线观看 | 久久一级 | 成人欧美一区二区三区在线播放 | 国产亚洲一区二区三区在线 | 亚洲国产精品一区二区久久 | 免费在线黄色av | 中国一级特黄真人毛片免费观看 | 五月槐花香| 国产精品一区在线观看你懂的 | 欧美日韩中文字幕 | 免费看一区二区三区 | 一区二区三区四区在线免费观看 | 亚洲精品乱码久久久久久久久久 | 日韩欧美亚洲一区 | 国产视频线观看永久免费 | 91av国产在线视频 | 毛片入口 | 国产精品欧美一区喷水 | 91爱爱·com | 一级黄色夫妻生活 | 97色在线观看免费视频 | 免费高清av | 日韩二区| 精品真实国产乱文在线 | 在线观看www视频 |