一种识别长按与短按复位按键的方法与流程

文档序号:14676280发布日期:2018-06-12 21:32阅读:2095来源:国知局
一种识别长按与短按复位按键的方法与流程

本发明涉及电路设计领域,具体涉及一种识别长按与短按复位按键的方法。



背景技术:

通信设备单板上通常设计复位按键及相关的功能电路,按下复位按键时完成单板的复位功能。某些终端类的设备上需要在长按复位按键,比如按住超过5秒时在复位设备的同时能够恢复出厂配置信息,短按复位按键时则只进行复位。也就是说设备要能够区分长按复位按键与短按复位按键两种状态。某些芯片自身具备这样的功能,也就是芯片有专用的管脚能够识别长短按键,并通过寄存器告知软件。更多的芯片没有这样的专用管脚,需要通过外围电路设计来实现这样的功能。本发明就是通过电路与软件综合处理的方式来识别按键是短按还是长按。



技术实现要素:

本发明提出的一种识别长按与短按复位按键的方法,通过电路与软件综合处理的方式来识别按键是短按还是长按。

为实现上述目的,本发明采用了以下技术方案:

一种识别长按与短按复位按键的方法,包括单板有复位按键与看门狗芯片,复位按键接到处理器中断管脚,看门狗喂狗信号WDI接处理器,溢出信号WDO接看门狗手动复位信号MR;具体步骤如下:

步骤1,单板正常运行时处理器周期性喂狗;

步骤2,复位按键按下,处理器进入中断服务程序;

步骤3,中断服务程序中记录按键按下的时间,区分是长按还是短按;

步骤4,对于短按键,直接停止喂狗,看门狗溢出触发单板复位;对于长按键,做必要出处理之后再停止喂狗,看门狗溢出触发单板复位。

进一步的,所述步骤四的必要处理包括将配置信息恢复到出厂状态。

由上述技术方案可知,本发明利用通用处理器的中断管脚与专用的看门狗复位芯片,通过巧妙的电路设计,使得单板能够识别长按与短按复位按键,赋予按键更多状态表达,软件根据不同的按键状态实现不同的功能,比如长按复位按键实现单板配置信息恢复到出厂状态。本发明的主要思路是将复位按键的管脚接到处理器的中断输入管脚,按键后软件进入复位按键中断服务程序,通过扫描该管脚的电平来判断按键长短,根据按键时间的长短来实现不同的软件功能。单板的复位由具有看门狗功能的复位芯片如MAX706来实现,软件在处理完复位按键中断服务程序后停止喂狗实现单板复位。通过这种方式,既能确保单板可靠复位,又能识别长按与短按复位按键的动作。

本发明的有益效果:本发明在保证系统可靠复位的同时,还可以区分识别短按与长按键状态,软件据此可以实现不同的功能,比如长按键恢复出厂配置信息等。本发明具有通用性,可以很方便移植到不同的单板设计上,且整体实现成本较低。

附图说明

图1是本发明的方案框图;

图2是本发明按键复位处理流程图;

图3是本发明按键中断服务程序处理流程图。

具体实施方式

下面结合附图对本发明做进一步说明:

如图1所示,本实施例所述的识别长按与短按复位按键的方法,单板的复位按键101通过上拉电阻接到处理器芯片102的中断输入管脚INT,处理器102的GPIO管脚接到复位芯片103MAX706的喂狗输入管脚WDI,MAX 706看门狗溢出管脚WDO接手动复位输入管脚MR,MAX706复位输出管脚RST接处理器芯片复位输入RST_IN。

系统上电时由MAX706RST管脚送出复位信号完成系统的复位,运行过程中的复位由MAX706看门狗溢出复位功能实现。其复位原理如下:系统正常运行时,软件操作处理器GPIO管脚产生喂狗信号送给MAX706的WDI管脚,MAX706的WDO管脚输出高电平,RST输出高电平;如果软件停止喂狗,则MAX706看门狗溢出,即WDO输出为低电平,也即MAX706的MR为低电平,则MAX 706RST管脚输出为低电平,从而复位处理器芯片与整个电路系统。

系统运行过程中按下复位按键,处理器102INT管脚拉低,软件进入中断服务程序,在中断服务程序中软件计时并扫描INT管脚的电平,软件管脚电平一直保持为低且超过设定的时间,则记录为一次长按键并退出中断服务程序。如果没有到设定的时间,管脚电平已经为高,则记录为一次短按键并退出中断服务程序。软件根据按键状态进行不同的处理,对于短按键,则软件直接停止喂狗,也就是不再翻转MAX706WDI管脚,触发MAX706输出复位信号,完成系统的复位。对于长按键,软件可以执行预设的功能,比如将配置信息恢复到出厂状态,之后再停止喂狗完成系统复位。

软件处理流程如图2与图3所示,图2为按键复位处理流程,图3为按键中断服务程序处理流程。

图2处理步骤如下:

步骤201:系统上电复位,软件执行初始化,单板运行,转步骤202。

步骤202:软件启动喂狗程序,即通过操作处理器的GPIO管脚来给MAX706的WDI管脚送出高低电平,转步骤203。

步骤203:检查是否有按键标记,如果没有则转步骤202,如果有则转步骤204。

步骤204:判断按键状态是否是长按键,如果是长按键则转步骤205,如果是短按键则转步骤206。

步骤205:执行长按键状态处理功能,比如恢复出厂设置信息,转步骤206。

步骤206:软件停止喂狗,即停止翻转看门狗芯片的WDI管脚,转步骤207。

步骤207:看门狗芯片MAX706看门狗溢出,触发系统复位。

图3处理步骤如下:

步骤301:按键按下,软件进入复位按键中断服务程序,转步骤302。

步骤302:启动定时器,定时器的时间长度设定为判断长按键的时间,比如5秒钟,转步骤303。

步骤303:判断中断管脚INT的电平是否为低,如果为低则转步骤305处理,如果为高,说明为短按键,转步骤304。

步骤304:当前按键状态为短按键,记录该状态,转步骤307。

步骤305:检查定时器是否溢出,如果溢出,说明是长按键,转步骤306,如果没有溢出转步骤303。

步骤306:当前按键状态为长按键,记录该状态,转步骤307。

步骤307:结束复位按键中断服务程序,返回按键状态,即当前按键是长按键还是短按键。

依据本实施例提出的方案,在实现单板可靠复位的同时,能够区分是长按键还是短按键,可以实现不同的按键复位功能。该方法具有通用性,很容易移植到各种系统上面。

以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1