初级会员

- 积分
- 63
- 金钱
- 63
- 注册时间
- 2020-2-21
- 在线时间
- 21 小时
|
发表于 2020-2-29 11:57:09
|
显示全部楼层
支持连续按就是在按的时候一直扫描,而不支持就是一直按的时候也就扫描一次。反映到原子哥的代码就是支持连续按模式下连续按的时候会不停的进行led的反转,但是由于没有设置延迟时间,并不能观察到明显的现象,只能得到最后的状态是不确定的,而不支持连续按模式则是无论怎么按只是扫描一次。可以优化代码来观察到这两个的明显区别,修改如下。
case KEY2_PRESS: //控制LED0翻转
LED0=!LED0;
delay_ms(1000);
break;
case KEY1_PRESS: //控制LED1翻转
LED1=!LED1;
delay_ms(1000);
break;
case KEY0_PRESS: //同时控制LED0,LED1翻转
LED0=!LED0;
LED1=!LED1;
delay_ms(1000);
break;
case KEY_UP_PRESS: //控制蜂鸣器
BEEP=!BEEP;
break;
在mode=1既支持连按状态下,连续按一秒会发生led状态的反转,而mode=0则不会 |
|