亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請工程化,定制化你的單片機(jī)代碼

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

使用道具 舉報

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

使用道具 舉報

83#
ID:490458 發(fā)表于 2019-7-31 21:08 | 只看該作者
好文,這是結(jié)合硬件實(shí)際的結(jié)構(gòu)化編程思想、
回復(fù)

使用道具 舉報

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

使用道具 舉報

85#
ID:428400 發(fā)表于 2019-8-2 18:55 | 只看該作者
學(xué)習(xí)了,你的想法好!
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

回復(fù)

使用道具 舉報

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

使用道具 舉報

90#
ID:596504 發(fā)表于 2019-8-7 09:04 | 只看該作者
感謝分享,前來學(xué)習(xí)一下。
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

95#
ID:230559 發(fā)表于 2019-8-9 10:26 | 只看該作者
工程復(fù)雜用狀態(tài)機(jī)方式編程,或上實(shí)時系統(tǒng)
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

98#
ID:370231 發(fā)表于 2019-8-9 14:38 | 只看該作者
持續(xù)關(guān)注,樓主厲害!!!!
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

有師傅帶真好
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

105#
ID:450125 發(fā)表于 2019-8-14 08:03 | 只看該作者
學(xué)習(xí)了,謝謝
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

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



回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

110#
ID:496061 發(fā)表于 2019-8-15 11:00 | 只看該作者
好東西,學(xué)習(xí)到了
回復(fù)

使用道具 舉報

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

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

114#
ID:92746 發(fā)表于 2019-8-18 16:28 | 只看該作者
不錯學(xué)習(xí)了
回復(fù)

使用道具 舉報

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

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

使用道具 舉報

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

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

使用道具 舉報

117#
ID:208050 發(fā)表于 2019-8-21 18:00 | 只看該作者
學(xué)習(xí)了,編程思想非常重要
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表