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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

    [復制鏈接]
回帖獎勵 40 黑幣 回復本帖可獲得 2 黑幣獎勵! 每人限 1 次
81#
ID:578583 發表于 2019-7-28 11:09 | 只看該作者
謝謝樓主慷慨,很好的一篇文章,不過得慢慢消化,期待源碼
回復

使用道具 舉報

82#
ID:9727 發表于 2019-7-31 16:53 | 只看該作者
謝謝了,這位兄弟分享了他的編程精髓,看了之后很受教。我是一個初學者,萬分感謝
回復

使用道具 舉報

83#
ID:490458 發表于 2019-7-31 21:08 | 只看該作者
好文,這是結合硬件實際的結構化編程思想、
回復

使用道具 舉報

84#
ID:529540 發表于 2019-8-2 16:22 | 只看該作者
按鍵的松手檢測呢?怎么用定時器寫?
回復

使用道具 舉報

85#
ID:428400 發表于 2019-8-2 18:55 | 只看該作者
學習了,你的想法好!
回復

使用道具 舉報

86#
ID:228467 發表于 2019-8-2 19:56 | 只看該作者
感謝發出這么好的文章,持續關注中!
回復

使用道具 舉報

87#
ID:476527 發表于 2019-8-2 20:36 | 只看該作者
ccdmcu 發表于 2019-8-2 16:22
按鍵的松手檢測呢?怎么用定時器寫?

我不是給了個keyPress()程序么,你再好好看看。
簡單來說,有鍵按下時,時間就會++;
無鍵按下時,時間就會清零。
但在清零之前會先檢查,時間是否大于0,時間值大于0(或者消抖值)說明曾經有鍵按下過,并且剛剛松開。這時候處理“這次按鍵”不就好了。
回復

使用道具 舉報

88#
ID:594416 發表于 2019-8-5 10:34 | 只看該作者
將單片機程序工程化的好處,就在于后期升級和改進,將變得無比的方便。尤其是模塊化以后,對相關的功能進行升級,只需要針對這一部分進行修改就可以。

回復

使用道具 舉報

89#
ID:318539 發表于 2019-8-7 08:33 | 只看該作者
Mark      
回復

使用道具 舉報

90#
ID:596504 發表于 2019-8-7 09:04 | 只看該作者
感謝分享,前來學習一下。
回復

使用道具 舉報

91#
ID:282095 發表于 2019-8-7 10:14 | 只看該作者
不錯不錯 漲知識了
回復

使用道具 舉報

92#
ID:23215 發表于 2019-8-8 17:09 | 只看該作者
樓主的程序確實寫得很好,思路清晰,比教材上的程序更實用
回復

使用道具 舉報

93#
ID:85865 發表于 2019-8-8 20:46 | 只看該作者
好文章,收藏了
回復

使用道具 舉報

94#
ID:109646 發表于 2019-8-9 08:38 | 只看該作者
難得的良師
回復

使用道具 舉報

95#
ID:230559 發表于 2019-8-9 10:26 | 只看該作者
工程復雜用狀態機方式編程,或上實時系統
回復

使用道具 舉報

96#
ID:598282 發表于 2019-8-9 12:09 | 只看該作者
文章不錯,搞技術的多替客戶想一點,肯定沒錯。忽悠是做不了長遠的。
回復

使用道具 舉報

97#
ID:88606 發表于 2019-8-9 14:31 | 只看該作者
寫得不錯,后續有更深入的文章更好!
回復

使用道具 舉報

98#
ID:370231 發表于 2019-8-9 14:38 | 只看該作者
持續關注,樓主厲害。。。
回復

使用道具 舉報

99#
ID:23215 發表于 2019-8-9 17:08 | 只看該作者
if(++key_press_time <=0 ) --key_press_time;//計量按鍵時間,并避免數據溢出        樓主問個問題,key_press_time這個參數是無符號整型,++key_press_time 不會小于等于0吧!
回復

使用道具 舉報

100#
ID:385637 發表于 2019-8-10 10:38 | 只看該作者
樓主這文章比那些所謂的教科書好多了,那些教科書按鍵消抖動不動就是delay(20ms),真是誤人子弟,真正出來做到大型項目才知道 DELAY是多么不實際。希望樓主繼續更新,最好轉成PDF,多點例程,尤其是一些按鍵的,短按,長按,雙擊組合鍵例程。現在絕大部份寫按鍵程序都喜歡delay消抖,while松手檢測。郭天詳的書也是這么教的,一點不實用
回復

使用道具 舉報

101#
ID:476527 發表于 2019-8-12 11:46 | 只看該作者

確實不會“小于”0,但“等于”0是有可能的喔,所以這樣寫是沒問題的。
至于為什么我寫了“<=",而不是”==“呢?
理由是 —— 容錯機制:
萬一手殘了,在定義key_press_time的時候忘記加了unsigned,我們的按鍵程序照樣可以正常工作(只是計數最大值只有原來的一半了)
回復

使用道具 舉報

102#
ID:573089 發表于 2019-8-12 16:17 | 只看該作者
小黑屋525 發表于 2019-7-26 09:11
好文,最近師傅也這樣子說太浪費單片機資源。

有師傅帶真好
回復

使用道具 舉報

103#
ID:596378 發表于 2019-8-12 18:01 | 只看該作者
厲害,受教了
回復

使用道具 舉報

104#
ID:572707 發表于 2019-8-13 10:19 | 只看該作者
感謝樓主,學到了很多東西
回復

使用道具 舉報

105#
ID:450125 發表于 2019-8-14 08:03 | 只看該作者
學習了,謝謝
回復

使用道具 舉報

106#
ID:276663 發表于 2019-8-14 10:27 | 只看該作者
我想問,怎么把DS18B20的加入到你這種機制里?一次通訊時間都要好幾毫秒
回復

使用道具 舉報

107#
ID:476527 發表于 2019-8-14 14:12 | 只看該作者
本帖最后由 Similarv 于 2019-8-15 10:40 編輯
IdeaMing 發表于 2019-8-14 10:27
我想問,怎么把DS18B20的加入到你這種機制里?一次通訊時間都要好幾毫秒

這個好說,把基礎時基變成10ms(或者20ms),也就是定時器中斷10ms(或者20ms)產生一次。
然后就是……
  1. unsigned char flag10ms=0,flag100ms=0;
  2. void t0Init()
  3. { /*略*/}
  4. void t0Xint() Interrupt n
  5. {
  6.     flag10ms = 1;//10ms產生一次中斷
  7. }
復制代碼



回復

使用道具 舉報

108#
ID:593686 發表于 2019-8-14 17:54 | 只看該作者
我們公司都有一個規范手持,每一行沒錯就是每一行代碼都要寫上注釋,我看一下能不能弄出外網上傳上來
回復

使用道具 舉報

109#
ID:282095 發表于 2019-8-14 19:03 | 只看該作者
蠻清晰的 感謝分享
回復

使用道具 舉報

110#
ID:496061 發表于 2019-8-15 11:00 | 只看該作者
好東西,學習到了
回復

使用道具 舉報

111#
ID:276663 發表于 2019-8-16 16:25 | 只看該作者
Similarv 發表于 2019-8-14 14:12
這個好說,把基礎時基變成10ms(或者20ms),也就是定時器中斷10ms(或者20ms)產生一次。
然后就是…… ...

如果同時存在數碼管的刷新呢,比如一秒讀一次18B20,讀的時候數碼管的刷新就被卡了一下
回復

使用道具 舉報

112#
ID:23215 發表于 2019-8-18 09:31 | 只看該作者
感謝發出這么好的文章,持續關注中!
回復

使用道具 舉報

113#
ID:601214 發表于 2019-8-18 11:13 | 只看該作者
技術提升帖!收藏!等學到這里了再回來研究!
回復

使用道具 舉報

114#
ID:92746 發表于 2019-8-18 16:28 | 只看該作者
不錯學習了
回復

使用道具 舉報

115#
ID:476527 發表于 2019-8-19 01:00 來自觸屏版 | 只看該作者
IdeaMing 發表于 2019-8-16 16:25
如果同時存在數碼管的刷新呢,比如一秒讀一次18B20,讀的時候數碼管的刷新就被卡了一下

我剛剛特意去查了一下,這玩意僅僅是個溫度傳感器,而且還特么是數字的,讀一次溫度居然至少要5Ms?!(還不確定是否會更久)
這樣,如果你有示波器的話,請你做這么一個實驗,把單片機某個端口設為輸出,這個端口平時是低電平,然后用18b20讀取溫度之前拉高它,讀取結束的時候又拉低它,然后用示波器好好的看看這個端口被拉高的時間,你就知道它每次采溫需要多長時間了。再結合其他子程序的工作時長,設計你的時基。
其實,這種數字型溫度傳感器在我們實際做項目的人的眼里,只有華而不實四個字可以評價。如果我們的項目里需要測溫,我們一般會采用內部自帶adc模塊的單片機,測溫只要一個熱敏電阻就可以搞定。整個測溫的時間只需大約10us。不但更便宜,精度更好,效率還是你那個測溫模塊的500倍!具體方案這里就不贅述了。
回復

使用道具 舉報

116#
ID:276663 發表于 2019-8-19 16:54 | 只看該作者
Similarv 發表于 2019-8-19 01:00
我剛剛特意去查了一下,這玩意僅僅是個溫度傳感器,而且還特么是數字的,讀一次溫度居然至少要5Ms?!( ...

18B20確實要很久,主要問題是它采用的單總線方式通訊速度慢。程序我也喜歡用你講的這種所時間片輪方式(其實是當時大學師傅講授的)。所以用到DS18B20的時候就改構架,有時候還不只一個DS18B20,很是頭疼。
回復

使用道具 舉報

117#
ID:208050 發表于 2019-8-21 18:00 | 只看該作者
學習了,編程思想非常重要
回復

使用道具 舉報

118#
ID:196702 發表于 2019-10-4 09:48 | 只看該作者
關注中,期待樓主繼續更新!
回復

使用道具 舉報

119#
ID:613800 發表于 2019-10-8 23:36 | 只看該作者
學到了。感覺大佬
回復

使用道具 舉報

120#
ID:208271 發表于 2019-10-9 07:37 | 只看該作者
真得很好,一直想了解這方面的編程,以前自己的編程太笨,程序實時性不高,希望樓主能盡快做成PDF,讓我們下載學習。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99视频在线免费观看 | 亚洲网站在线播放 | 成人黄色三级毛片 | 国产在线看片 | 麻豆av电影网 | 夜夜艹天天干 | 亚洲高清在线观看 | 国产乱码精品1区2区3区 | 日本不卡一区二区三区在线观看 | 国产美女在线免费观看 | 做a的各种视频 | 日本 欧美 三级 高清 视频 | 久久午夜国产精品www忘忧草 | 91在线一区 | 国产一级淫片免费视频 | 亚洲免费在线观看 | 在线观看 亚洲 | 精品亚洲一区二区三区 | 久久精品国产免费看久久精品 | 午夜理伦三级理论三级在线观看 | 成人二区三区 | 精品国产免费一区二区三区演员表 | 视频一区 亚洲 | www亚洲精品 | 国产精品美女久久久久久久网站 | 黄色大片观看 | 日日操操 | 亚洲黄色av | 人碰人操 | 99久久婷婷国产综合精品首页 | 免费观看一级毛片 | 精品人伦一区二区三区蜜桃网站 | 久久久久av | 久久久精品在线 | 精品久久亚洲 | 毛片入口 | 日本久久综合 | 国产精品二区三区在线观看 | 国产精品高清在线 | 久久精品亚洲精品国产欧美 | 欧美一级www片免费观看 |