欢迎您访问 yabo手机官网

公司简介 联系我们 网站地图

欢迎来电咨询

13988888888

客户案例

全国服务热线

13988888888

技术过硬,据实报价

yabo手机官网

当前位置: 主页 > 客户案例 > yabo手机官网

yabo手机官网_有限状态机的嵌入式Linux按键驱动设计

2024-04-16 03:53 已有 人浏览 yabo手机官网
本文摘要:0章节  一般的按键驱动程序一般来说非常简单。

0章节  一般的按键驱动程序一般来说非常简单。在程序中一旦检测到按键输出口为低电平时,就使用软件延时10ms后再度检测按键输出口。

如果依然是低电平则回应有按键按下,之后转至继续执行按键处理程序;否则,当按键输出口为高电平,就不会退出本次按键的检测,新的开始一次按键检测过程。这种方式不仅由于使用了软件延时而使得MCU的效率减少,同时也不更容易同系统中其他功能模块协商工作,且系统的实时性也劣。本文把单个按键作为一个非常简单的系统,根据状态机的原理对其动作的操作者和证实的过程展开分析,后用状态图回应出来,然后根据状态图续写按键模块程序。  1基于状态机的非常简单按键驱动设计  在一个嵌入式系统中,按键的操作者是随机的。

为了提升CPU的工作效率,在设计按键驱动的时候,利用S3C2440的外部中断来构建对按键的处置。很显著,系统的输出信号与按键相连的I/O口电平,1回应按键正处于对外开放状态,0回应按键正处于开口状态。而系统的输入信号则回应检测和证实到一次按键的开口操作者,用1回应。

    图1得出了一个非常简单按键状态机的状态切换图。  在图中,将1次按键原始的操作者分解成为3个状态。

其中,状态0为按键的初始状态,当按键输出为1时,回应按键正处于对外开放,输入0(I/0),下一状态仍为状态0;当按键输出为0时,回应按键开口,但输入还是0(没经过消抖,无法证实按键确实按下),下一状态进入状态1。  状态1为按键开口证实状态,它回应在10ms前按键为开口的,因此当再度检测到按键输出为0时,可以证实按键被按下了(经过10ms的消抖);输入1则回应证实按键开口(0/1),下一状态进入状态2。

而当再度检测到按键的输出为1时,回应按键有可能处在晃动阻碍;输入为0(I/0),下一状态回到到状态0。这样,利用状态1,构建了按键的消抖处置。

状态2为等候按键获释状态,因为只有等按键获释后,一次原始的按键操作过程才算已完成。  对图1的分析由此可知,在一次按键操作者的整个过程中,按键的状态就是指状态0状态1状态2,最后回到到状态0的,并且在整个过程中,按键的输入信号仅有在状态1时得出了唯一的一次证实按键开口的信号1,其他状态皆输入0。因此,图1状态机所回应的按键系统,不仅解决了按键晃动的问题,同时也保证在一次按键的整个过程中,系统只输入一次按键开口信号(1)。


本文关键词:yabo手机官网

本文来源:yabo手机官网-www.progarena.com