使用看门狗实现复位
使用看门狗实现复位
系统程序跑飞或进入死循环,系统需要有一定自恢复的功能,可以使用看门狗。
只要8位看门狗递增计数器达到最大值,看门狗模块就会产生512个振荡器时钟(OSCCLK)宽的输出脉冲。为了防止这种情况,用户可以禁用计数器,或者软件必须定期将0x55+0xAA序列写入看门狗密钥寄存器,以重置看门狗计数器。看门狗模块内的各种功能块。
看门狗电路运行
当看门狗复位发生时,WDRST和XRS信号在512个OSCCLK周期内被驱动为低电平。同样,如果启用了看门狗中断,当发生中断时,WDINT信号将在512个OSCCLK周期内被驱动为低电平。监视器不起作用,当OSCCLK不存在时无法生成重置。
看门狗寄存器
看门狗控制寄存器
系统控制和状态寄存器SCSR包含看门狗溢出位和看门狗中断屏蔽/使能位。