【技术实现步骤摘要】
一种基于状态机的多功能按键检测方法
本专利技术涉及一种按键检测方法,尤其涉及一种基于状态机的多功能按键检测方法。
技术介绍
在人机交互的应用中,按键扮演着十分重要的角色,对于计算机键盘、手机及计算器等电子产品,工作时必须敲打键盘使得按键触电导通、断开,从而实现信息输入,目前按键做的比较好的就是手机的按键,有长按、短按、连发、还有组合等功能。通常的按键所用开关为机械弹性开关,当机械触点断开、闭合是,由于机械触点的弹性作用,一个按键开关在闭合是不会马上稳定的接通,在断开时也不会一下子断开,因而在闭合及断开瞬间均伴随有一连串的抖动,它直接影响着系统的稳定性与可靠性,因而在按键检测过程需要进行消抖处理。传统的消抖方式为RS触发器、延时防抖和功能芯片等方式,但这些方式存在着浪费处理器资源、应用范围不广泛、结构复杂的问题。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种系统效率高、可靠、健壮的基于状态机的多功能按键检测方法。本专利技术的目的是通过以下技术方案来实现的:一种基于状态机的多功能按键检测方法,按键检测方法包括以下步骤:S1.对系统配置进行预定义,定义内容包括:系统支持的按键数量、每个按键支持的按键类型、长按识别时间、连发间隔时间和按键端口;S2.扫描按键端口,获取按键端口值,驱动状态机;S3.对按键扫描进行定时中断,刷新和驱动状态机,用来按键消抖并且作为时间基准;S4.对按键类别进行识别,识别按键扫描所获得的按键的事件类型,同时将按键类型和按键值编码。所述定时中断每10ms调用一次按键检测。所述状态机的状态包括初始态、确认态、释放态和等待释放态。 ...
【技术保护点】
一种基于状态机的新型多功能按键检测方法,其特征在于:按键检测方法包括以下步骤:S1. 对系统配置进行预定义,定义内容包括:系统支持的按键数量、每个按键支持的按键类型、长按识别时间、连发间隔时间和按键端口;S2. 扫描按键端口,获取按键端口值,驱动状态机;S3. 对按键扫描进行定时中断,刷新和驱动状态机,用来按键消抖并且作为时间基准;S4. 对按键类别进行识别,识别按键扫描所获得的按键的事件类型,同时将按键类型和按键值编码。
【技术特征摘要】
1.一种基于状态机的多功能按键检测方法,其特征在于:按键检测方法包括以下步骤:S1.对系统配置进行预定义,定义内容包括:系统支持的按键数量、每个按键支持的按键类型、长按识别时间、连发间隔时间和按键端口;S2.扫描按键端口,获取按键端口值,驱动状态机;S3.对按键扫描进行定时中断,刷新和驱动状态机,用来按键消抖并且作为时间基准;S4.对按键类别进行识别,识别按键扫描所获得的按键的事件类型,同时将按键类型和按键值编码;所述状态机的状态包括初始态、确认态、释放态和等待释放态;所述状态机的事件驱动机制包括以下步骤:S31.状态机处于初始态,若有按...
【专利技术属性】
技术研发人员:徐雷鸣,
申请(专利权)人:成都易默生汽车技术有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。