標(biāo)題:
小白求解釋單片機(jī)代碼(劃箭頭的部分)!
[打印本頁]
作者:
ZFDPJ
時間:
2017-11-26 02:51
標(biāo)題:
小白求解釋單片機(jī)代碼(劃箭頭的部分)!
const int buttonPin = 2;
const int ledPin = 13;
int ledState = HIGH;
int buttonState;
int lastButtonState = LOW;
long lastDebounceTime = 0;
long debounceDelay = 50;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, ledState);
}
void loop() {
int reading = digitalRead(buttonPin);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
--> if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
ledState = !ledState;
}
}
}
digitalWrite(ledPin, ledState);
lastButtonState = reading;
}
請問那位大神可以解釋一下劃箭頭的地方if中buttonState與reading不是相同的嗎?,為什么可以比較。謝謝。如果錯了是不是把buttonState改為lastbuttonState就行了。
作者:
bayga456
時間:
2017-11-26 10:18
不是相等的,
--> if (reading != buttonState) {
buttonState = reading; 這是上面成立才執(zhí)行的,就是說,如果不相等就賦值。但下次判斷之前 int reading = digitalRead(buttonPin); 這語句有可能改變 reading 的值了。
作者:
angmall
時間:
2017-11-26 11:10
劃箭頭的地方if中buttonState與reading為什么一定是相同的,為什么不可以比較。
作者:
zl2168
時間:
2017-11-26 11:44
為什么要找沒有注釋的代碼?介紹你2本書,張志良編著的:《80C51單片機(jī)實用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學(xué)習(xí)51單片機(jī)原理,程序(雙解c和匯編)語句條條有注解,便于閱讀理解,便于自學(xué)!80C51單片機(jī)仿真設(shè)計實例教程——基于Keil C和Proteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行,可演示,可觀測,程序語句條條有注解。與其他書比較一下,有比較才能有鑒別!絕不忽悠你!
作者:
570751866
時間:
2017-12-3 21:15
學(xué)習(xí)學(xué)習(xí)
作者:
570751866
時間:
2017-12-3 21:15
新手
學(xué)習(xí)
作者:
天天走
時間:
2017-12-7 22:39
介紹你2本書,張志良編著的:《80C51單片機(jī)實用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學(xué)習(xí)51單片機(jī)原理,程序(雙解c和匯編)語句條條有注解,便于閱讀理解,便于自學(xué)。認(rèn)真看,可以的
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1