看门狗的设置及喂狗方法
【技术领域】
[0001]本发明涉及一种在电能表中使用的看门狗程序,具体讲是一种看门狗的设置及喂狗方法。
【背景技术】
[0002]现有技术的看门狗控制方法一般是在一个主程序和多个中断程序中均放置一个看门狗。喂狗时,主程序和中断程序都在发送喂狗信号,但由于无法判断是由谁发送喂狗信号,因此仍然会产生主程序或者中断程序跑飞的问题,从而使得现有技术看门狗的设置及喂狗方法的喂狗效果较差。而若是只在主程序或每个中断程序中放置一个看门狗,也无法起到监控的作用,同样会出现程序跑飞的问题。因此,基于上述原因,亟待需要一种喂狗效果好的看门狗的设置及喂狗方法,以解决上述问题。
【发明内容】
[0003]本发明要解决的技术问题是,提供一种喂狗效果好的看门狗的设置及喂狗方法。
[0004]本发明的技术方案是,提供一种看门狗的设置及喂狗方法,包括一个看门狗和k个中断程序;所述看门狗的设置及喂狗方法还包括以下步骤:
[0005](I)、在主程序中放置一个看门狗,同时在每个中断程序里放置一个数据nl、n2、n3、......、nk ;
[0006](2)、将 nl-l、n2-l、n3_l、......、nk_l,若(nl_l) # 0、(n2_l) # 0、(n3_l) # 0、...…、(nk-1) #0,则主程序发送一次喂狗信号,返回步骤(I);否则,执行步骤(3);
[0007](3)、若(nl-1)、(n2-l)、(n3-l)、......、(nk_l)中任何一个或多个等于零,贝Ij判断监控中断,主程序不发送喂狗信号;
[0008](4)、重启主程序。
[0009]采用以上方法后,本发明与现有技术相比,具有以下优点:
[0010]本发明看门狗的设置及喂狗方法通过在在主程序中放置一个看门狗,以及在每个中断程序里放置一个数据,首先实现了对主程序的控制,而对于多个中断程序则是通过对数据做减法来实现,即若是中断程序跑飞,则肯定会出现等于零的情况,从而判断中断程序跑飞。因此,本发明看门狗的设置及喂狗方法实现了对主程序和多个中断程序实现实时监控,其喂狗的效果较好。
【附图说明】
[0011]图1是本发明看门狗的设置及喂狗方法的流程图。
【具体实施方式】
[0012]下面结合附图和具体实施例对本发明作进一步说明。
[0013]如图1所示,本发明一种看门狗的设置及喂狗方法,包括一个看门狗和k个中断程序;所述看门狗的设置及喂狗方法还包括以下步骤:
[0014](I)、在主程序中放置一个看门狗,同时在每个中断程序里放置一个数据nl、n2、n3、……、nk,若是有3个中断程序,则分别在每个中断程序里放置一个数据,nl、n2、n3 ;
[0015](2)Jfnl-l、n2-l、n3-l、......、nk_l,若(nl-1)乒 0、(n2_l)乒 0、(n3_l)乒 0、…
…、(nk-D #0,则主程序发送一次喂狗信号,返回步骤(I);否则,执行步骤(3);在本实施例中,判断(nl-1) #0、(n2-l) #0、(n3_l) # 0,则说明每个中断程序在运行,返回步骤
(I)重新执行;一般的η = 100或者η = 1000。
[0016](3)、若(nl-1)、(η2-1)、(η3-1)、......、(nk_l)中任何一个或多个等于零,贝Ij判断监控中断,主程序不发送喂狗信号;在本实施例中,判断(nl-1) =0、(n2-l) = O、(n3_l)=O,则说明中断1、中断2程序已经跑飞,其不在放置数据,中断3程序正常运行;则说明中断程序已经跑飞,其不在放置数据,执行步骤(4);
[0017](4)、重启主程序,返回步骤(I)。
[0018]以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅限于以上实施例,其具体结构允许有变化。但凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。
【主权项】
1.一种看门狗的设置及喂狗方法,其特征在于:包括一个看门狗和k个中断程序;所述看门狗的设置及喂狗方法还包括以下步骤: (1)、在主程序中放置一个看门狗,同时在每个中断程序里放置一个数据nl、n2、n3、......、nk ;(2)、将nl-l、n2_l、n3_l、......、nk_l,若(nl_l) # O、(n2_l) # 0、(n3_l) #0、......、(nk-1) #0,则主程序发送一次喂狗信号,返回步骤(I);否则,执行步骤(3);(3)、若(nl-1)、(n2-l)、(n3_l)、......、(nk_l)中任何一个或多个等于零,贝U判断监控中断,主程序不发送喂狗信号; (4)、重启主程序。
【专利摘要】本发明公开了一种看门狗的设置及喂狗方法,包括一个看门狗和k个中断程序;所述看门狗的设置及喂狗方法还包括以下步骤:(1)、在主程序中放置一个看门狗,同时在每个中断程序里放置一个数据n1、n2、n3、……、nk;(2)、将n1-1、n2-1、n3-1、……、nk-1,若(n1-1)≠0、(n2-1)≠0、(n3-1)≠0、……、(nk-1)≠0,则主程序发送一次喂狗信号,返回步骤(1);否则,执行步骤(3);(3)、若(n1-1)、(n2-1)、(n3-1)、……、(nk-1)中任何一个或多个等于零,则判断监控中断,主程序不发送喂狗信号;(4)、重启主程序。上述方法的喂狗效果好。
【IPC分类】G06F11/07
【公开号】CN104899110
【申请号】CN201510300162
【发明人】郑坚江, 胡志刚
【申请人】宁波三星智能电气有限公司
【公开日】2015年9月9日
【申请日】2015年6月5日