熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2015-12-19 21:23
正文摘要:Hi,大家好!又跟大家見(jiàn)面啦!在上一次講解按鍵開(kāi)關(guān)臨近結(jié)束的時(shí)候,我們提到在正常的使用過(guò)程中,美中有不足,按鍵開(kāi)關(guān)還有一個(gè)小問(wèn)題需要解決。那是什么問(wèn)題呢? 每當(dāng)你按下或抬起按鍵開(kāi)關(guān)的一瞬間,由于讀取信 ... |
很好的按鍵的函數(shù) 謝謝分享 |
我是菜鳥(niǎo),請(qǐng)問(wèn)下: // 定義按鍵輸入針腳號(hào)常量, // 并初始化為2號(hào)針腳。 const int buttonPin = 2; 這個(gè)可不可以用宏定義,因?yàn)橐_號(hào)基本只是指定,而不會(huì)在程序運(yùn)行去改變的,是不是可以不用int變量,而用:#define buttonPin = 2 宏定義是不占內(nèi)存空間的吧,而一個(gè)int整型是要消耗內(nèi)存的,不知我想的對(duì)不對(duì)? |
科比之心 發(fā)表于 2020-3-23 11:29 把這句"int reading = digitalRead(buttonPin);"改為#define reading digitalRead(buttonPin); 就好理解了 |
ZFDPJ 發(fā)表于 2017-11-26 02:48 我分析這個(gè)地方應(yīng)該是寫(xiě)錯(cuò)了,BUTTONSTATE在程序中沒(méi)有用到,這個(gè)地方應(yīng)該改成lastButtonState就可以了,reading確實(shí)是當(dāng)前獲取到的按鍵狀態(tài)值 |
ZFDPJ 發(fā)表于 2017-11-26 02:48 buttonState是int類(lèi)型只有兩種值0和1 如果為0不執(zhí)行 如果為1 執(zhí)行 關(guān)鍵在那個(gè)!= 這個(gè)符號(hào) |
很好的按鍵的函數(shù) 謝謝分享 |
如果按鈕按得夠久,先0-1再1-0,都是穩(wěn)定的,那燈的狀態(tài)就會(huì)變兩次嗎? |
我覺(jué)得寫(xiě)得挺好滴,頂一個(gè)![]() |
大神請(qǐng)問(wèn)一下 51步 if (reading != buttonState)中 reading不就是讀取的buttonstate中的狀態(tài)嗎?為什么還可以比較。 求解釋 |
Powered by 單片機(jī)教程網(wǎng)