当开关没有按下时,两个灯都亮。这是因为在初始状态下,val的值为0,所以PORTD&=~(1<<val)会将PD0、PD1、PD2的电平都设置为低电平,也就是使LED0和LED1都亮。当开关按下时,val的值会递增,但在val等于2时就不会再递增了,所以此时也会出现两个灯都亮的情况。

+V连接LED0LED1的头以及开关的头;尾分别连接向ATmega 2560 的PD2PD1PD0。ATmega 2560接地假设DDRC已经被初始化执行如下代码:int val=0;PORTD=0x06;while1PORTD&=~1val;ifPIND&0x01val +=1;ifval2val=2;elseval=1;开关什么情况下两个灯都亮为什么

原文地址: https://www.cveoy.top/t/topic/fDUj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录