本节目标:
通过定时器来防止按键抖动,测试程序是使用上节的:阻塞操作的测试程序
1.在没有定时器防抖情况下,按键没有稳定之前会多次进入中断,使得输出多个相同信息出来
2.按键波形图,如下所示:...3.如何消去按键抖动
通过定时器延时10ms,然后每当按键进入中断时就更新定时器延时10ms,若延时10ms到了说明已经过了抖动范围,然后再打印按键电平信息
4.定时器结构体和函数介绍
我们先来看看两个全局变量...button_async, SIGIO, POLL_IN); //发送SIGIO信号给应用层
}
6.测试效果
如下图所示,当定时器expire成员<=jiffies时会进入一次定时器超时函数,我们按键驱动就不需要这个...如下图所示,我们运行测试程序,来快速按下按键试试:
?...even_press ) //没有按键按下
return -1;
}
/*阻塞操作,则直接进入休眠状态,直到有按键按下为止