其他分享
首页 > 其他分享> > 延时消抖获取按键值的函数

延时消抖获取按键值的函数

作者:互联网

用了辅助性的release变量,不用release,烧写开发板,我的蜂鸣器会出现间歇性的声音,说明还是没有去除抖动。

 1 int key_getvalue(void)
 2 {
 3     int ret = 0;
 4     static unsigned char release = 1; /* 按键松开 */ 
 5 
 6     if((release==1)&&(read_key()== 0))        /* KEY0     */
 7     {    
 8         delay(10);        /* 延时消抖         */
 9         release = 0;    /* 标记按键按下 */
10         if(read_key() == 0)
11         {
12             ret = KEY0_VALUE;
13         }    
14     }
15     else if(read_key()== 1)
16     {
17         ret = KEY_NONE;
18         release = 1;     /* 标记按键释放 */
19     }
20     return ret;    
21 }

 

标签:延时,read,消抖,ret,int,key,按键,release
来源: https://www.cnblogs.com/kunshanpipixia/p/14227681.html