找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2598|回复: 6
打印 上一主题 下一主题
收起左侧

小白求解释单片机代码(划箭头的部分)!

[复制链接]
跳转到指定楼层
楼主
ID:253661 发表于 2017-11-26 02:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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就行了。




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:162136 发表于 2017-11-26 10:18 | 只看该作者
不是相等的,
--> if (reading != buttonState) {
buttonState = reading; 这是上面成立才执行的,就是说,如果不相等就赋值。但下次判断之前 int reading = digitalRead(buttonPin); 这语句有可能改变 reading 的值了。

评分

参与人数 2黑币 +10 收起 理由
BYSJ20171201 + 5 很给力!
ZFDPJ + 5 赞一个!

查看全部评分

回复

使用道具 举报

板凳
ID:155507 发表于 2017-11-26 11:10 | 只看该作者
划箭头的地方if中buttonState与reading为什么一定是相同的,为什么不可以比较。
回复

使用道具 举报

地板
ID:111634 发表于 2017-11-26 11:44 | 只看该作者
为什么要找没有注释的代码?介绍你2本书,张志良编著的:《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学。《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行,可演示,可观测,程序语句条条有注解。与其他书比较一下,有比较才能有鉴别!绝不忽悠你!

评分

参与人数 1黑币 +1 收起 理由
BYSJ20171201 + 1 赞一个!

查看全部评分

回复

使用道具 举报

5#
ID:256933 发表于 2017-12-3 21:15 | 只看该作者
学习学习
回复

使用道具 举报

6#
ID:256933 发表于 2017-12-3 21:15 | 只看该作者
新手学习
回复

使用道具 举报

7#
ID:253839 发表于 2017-12-7 22:39 | 只看该作者
介绍你2本书,张志良编著的:《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学。认真看,可以的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表