[发明专利]一种消息驱动人机界面的方法无效
申请号: | 201110315331.0 | 申请日: | 2011-10-17 |
公开(公告)号: | CN103049162A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 季晓春;左凌俊;蔡守平;朱海霞 | 申请(专利权)人: | 上海安科瑞电气股份有限公司 |
主分类号: | G06F3/048 | 分类号: | G06F3/048;G06F9/445 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 赵志远 |
地址: | 201801 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 驱动 人机界面 方法 | ||
技术领域
本发明涉及一种人机界面的相关技术,尤其是涉及一种消息驱动人机界面的方法。
背景技术
工业产品中经常会用到人机交互的操作,比如SMT(贴片机),流水线控制等大型设配的人机交互的控制通常采用工控计算机或者采用内部载入复杂操作系统的单片机来完成的。
但是小型工业产品(比如电力仪表等终端设备)受到现场应用环境、成本、可靠性、运行实时性等条件的限制,无法也没有必要使用诸如winCE、Linux、vxworks等复杂的操作系统。
如图1所示,现有单片机编写人机交互程序往往采用代码驱动的方式来完成,这种方法的实现包括:预先规划所有的界面建立相应表格,再用分支语句或跳转语句来实现程序界面的跳转;当客户要求增加、减少、调整界面时表格要重新设计,工作量大而繁琐,尤其当界面很多的时候,出错概率大,大大增加了维护难度。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种提高了响应速度、增强了实时性的消息驱动人机界面的方法。
本发明的目的可以通过以下技术方案来实现:
一种消息驱动人机界面的方法,其特征在于,包括以下步骤:
1)按键消息输入;
2)按键消息捕获;
3)将捕获的按键消息压入消息队列;
4)将消息队列中最早的按键消息移出队列;
5)判断移出的按键消息是否已注册,若为是,执行步骤6),若为否,执行空操作;
6)执行被注册的事件;
7)运行事件对应程序。
所述的步骤1)按键消息输入具体为:
按键产生信号,通过中断或扫描方式,将按键信号转换成按键消息,其中每个按键有其独立的状态标志位,即每个按键的动作与各自的按键消息产生是一一对应的。
所述的步骤2)按键消息捕获具体为:
21)根据按键的注册类型和当前的按键消息,由按键信息捕获函数判断本次按键消息是否有效,若为是,执行步骤22),若为否,执行空任务;
22)并判断是单次有效还是连续有效,若为单次有效,则表示按键按下时,只产生一条与按键消息对应的有效信息,若为连续有效,产生多条与按键消息对应的有效信息。
所述的步骤21)中的注册类型包括去抖、上升沿触发、下降沿触发、单次有效、连续有效。
所述的步骤3)将捕获的按键消息压入消息队列具体为:
31)判断消息对应的状态是否已满,若为否,执行步骤32),若为是执行步骤33);
32)将捕获的按键消息压入消息队列中;
33)放弃本次捕获的按键消息。
所述的事件的注册为:当前界面程序中先注册该界面下有效的按键事件。
与现有技术相比,本发明具有以下优点:
1)运用这个简化的消息机制简化了单片机界面程序的编写,提高了响应速度,增强了实时性,这对嵌入式开发是最重要的。
2)类似的简单消息运行机制可以方便的移植到其他微控制器项目上去,有广泛的应用前景。
附图说明
图1为现有的人机界面开发流程图;
图2为本发明的流程图;
图3为本发明的按键与按键消息一一对应图;
图4为本发明的按键消息捕获的流程图;
图5为本发明的将捕获的按键消息压入消息队列的流程图;
图6为本发明的消息对应的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图2所示,一种消息驱动人机界面的方法,包括以下步骤:
步骤101、按键消息输入;
步骤102、按键消息捕获;
步骤103、将捕获的按键消息压入消息队列;
步骤104、将消息队列中最早的按键消息移出队列;
步骤105、判断移出的按键消息是否已注册,若为是,执行步骤106,若为否,执行空操作;
步骤106、执行被注册的事件;
步骤107、运行事件对应程序。
所述的按键消息输入具体为:
由按键产生信号,用中断或扫描的方式,将按键信号转换成按键消息。
当外部物理按键被按下时,用相应的标志记录按键的状态,每个按键有其独立的状态标志位,为了提高按键消息的可靠性,不复用状态标记。
按键消息输入,只对按键的当前状态作如实的记录,每个按键的动作与各自的消息产生是一一对应的,具体见图3。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海安科瑞电气股份有限公司,未经上海安科瑞电气股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110315331.0/2.html,转载请声明来源钻瓜专利网。