最近在做按键扫描,一直连按,最后发现是按键扫描程序有问题,做了一下修改并加上了注释
uint8_t Key_Scan(uint8_t mode)
{
static uint8_t key_up = 1; //按键是否松开标志,为0按键按下,为1按键松开
if(mode) key_up = 1; //如果模式1,那么支持连按
if(key_up && (KEY0 == 0 || KEY1 == 0))//有按键按下
{
delay_ms(10);
key_up = 0;//按键按下,如果连按的话就会进不去if语句
if(KEY0 == 0)