| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
跑飞的程序在执行一些错误操作之后,经常会 
: h2 E9 q  u6 `2 m& a, A% t. K进入“死循环”,也就是常说的“死机”。通常采用“看 
2 V; x2 Y1 G9 q, f2 m  r; _- }' {门狗”技术使程序脱离“死循环”,“看门狗”技术可由 
4 b! l6 v- O. @8 H硬件实现,也可由软件实现。硬件“看门狗”技术这里# C) ~4 |  u8 o9 c 
不再赘述,软件“看门狗”技术的原理是通过不断检 
7 [% h. i; P# Z, {5 ?测程序循环运行时间,若发现程序循环时间超过最2 R8 g$ H; p; n2 Z 
大循环运行时间,则认为系统陷人“死循环”,需要进5 @  S' n% N0 }: C 
行出错处理。 
$ u' n" P) }3 }: ^2 m在实际应用中,通常用定时中断服务程序定时4 K4 C0 }2 t9 S) C$ k3 j) x1 m 
地检查主程序的运行情况。例如,在RAM区选择- - 
1 i( D3 W8 s$ m. d$ I: b/ R个字节作为软件看门狗寄存器,主程序每循环一次 
) D0 i1 P* L6 R" m) H3 S$ _( X. \将该寄存器加1,定时器TO的中断服务程序每中断 
# Z# k+ ^# X+ B# T7 g一-次将该寄存器减1并检查一次,如果程序执行正 
* M' x+ Y' _. T& I常,看门狗寄存器不会改变或改变不大,如果看门狗 
. b: h; y  Y' T( _寄存器发生了改变或改变很大,则说明系统陷入“死- W) |3 S7 X" O& W( }+ }- h 
循环”,需要进行出错处理。 
3 l" D. q: _, [3 s& | 
) C' g3 x: ?4 H# q& o# l8 A' |( w 
* y6 X9 f5 F$ y |   
 
 
 
 |