当前位置:首页 > 安全管理
有限状态机的嵌入式Linux按键驱动设计_AG百家乐
时间:2021-03-28 来源:AG百家乐登录 浏览量 37575 次

AG百家乐|第0章一般的钥匙驱动程序一般非常简单。 如果在编程中检测到密钥输出端口处于低电平,则使用软件延迟10ms再次检测密钥输出端口。 如果仍然是低电平,则响应键按下,然后继续执行键处理程序。 否则,当密钥输出口变为高电平时,本次密钥的检测不会结束,而是重新开始密钥检测过程。

该方式使用软件延迟,因此不仅MCU的效率降低,与系统内的其他功能模块的协商也不容易,系统的实时性也差。 本文将单一按钮作为非常简单的系统,根据状态机原理分析其动作的操作者和实证的过程,用状态图响应,然后根据状态图改写按钮模块程序。 基于1状态机的非常简单的键驱动程序是为嵌入式系统设计的,按键的操作者是随机的。

为了提高CPU的生产率,在设计按钮驱动时,利用S3C2440的外部中断构筑与按钮的对应。 很明显,系统的输出信号是与键连接的I/O端口电平,1应答键处于外部开放状态,0应答键处于开口状态。 另一方面,系统的输入信号响应检测到一次按钮并确认的开口操作者,以1进行响应。

AG百家乐

图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)。

AG百家乐登录

【AG百家乐】。

本文来源:AG百家乐登录-www.rhrileyassoc.com

版权所有宁波市AG百家乐登录有限公司 浙ICP备69283937号-3

公司地址: 浙江省宁波市巫山县方人大楼44号 联系电话:014-780753693

Copyright © 2018 Corporation,All Rights Reserved.

熊猫生活志熊猫生活志微信公众号
成都鑫华成都鑫华微信公众号