三段代码的注解比较

 第一段代码注解:先定义了两个布尔变量,再将2、8、13三个引脚分别初始化为上拉输入、上拉输入、输出模式。尔后的循环函数中,监测2、8两个引脚的状态并将其分别赋予前面定义的两个布尔变量。判断语句中,当两个变量都不为零时,设定13号引脚为高电平,点亮LED。其他情况均将13号引脚设定为低电平,熄灭LED。此处运用了一个逻辑运算符与(&&),当两个变量都不为零时,返回结果为真,否则为假。关于逻辑运算符作用见下图

逻辑运算符:

 第二段代码

 第二段代码注解:先定义了一个布尔变量,再将2、13号引脚分别初始化为上拉输出(???感觉应该是代码打错了,此处应为上拉输入)和输出模式。循环函数中,监测2号引脚的状态并赋予前面定义的布尔变量。在循环函数中,当布尔变量为零时,将2号引脚设置为高电平,点亮LED;反之则将2号引脚设定为低电平,熄灭LED。此处使用了另一个逻辑运算符非(!),作用是反转逻辑,可以粗略理解为反着来、说反话。详细的可见上图。

第三段代码:

第三段代码注解:先打开串口通讯,设定波特率为9600.再将2、13号引脚分别初始化为上拉输入和输出模式。循环函数中,先定义了一个整型变量,监测2号引脚的状态并将其赋予整型变量,尔后读取变量的状态,若为HIGH,则将13号引脚设置为低电平,熄灭LED,反之则设置为高电平,点亮LED。

三段代码的差别:

1.同:都是通过判断开关状态来确定引脚的电平状态,来达到点亮或者熄灭LED的目的。

2.异:第一段代码中使用的是与的判定逻辑,通过两个开关的状态来控制LED的亮灭。

第二段代码则是运用到了一个非的判定逻辑,将逻辑判定反转,使其变成按下开关时点亮LED反之熄灭。

第三段没有用到逻辑运算符,而是利用一个算术运算符(==)来达到目的。要注意的是,此处的==不能与赋值符号=的功能弄反了,=是给变量赋值时使用,而==则是给二者对比时使用的

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值