28335设置看门狗

28335设置看门狗

看门狗是什么

看门狗(Watchdog)是一种用于监控系统运行状态的保护机制,广泛应用于电子设备、嵌入式系统和计算机领域。

看门狗的主要作用

​​防止程序失控​​ 当系统因电磁干扰或软件漏洞陷入死循环时,看门狗通过超时检测强制重启,避免系统长时间停滞

​​提升系统可靠性​​ 在无人值守的嵌入式设备(如智能家居控制器、工业传感器)中,看门狗可确保设备长期稳定运行,减少人工干预需求

​​应对突发故障​​ 在服务器或汽车电子系统中,看门狗能快速响应硬件故障(如CPU过载、内存泄漏),触发应急措施(如降频、切换备用模块)

程序代码

#include "DSP2833x_Device.h" #include "DSP2833x_Examples.h"

/****************************************************************************** * 函 数 名 : DogInit * 函数功能 : 看门狗初始化 * 形 参 : 无 * 返 回 值 : 无 *******************************************************************************/ void DogInit(void)//看门狗初始化 { EALLOW; SysCtrlRegs.WDCR= 0x002F;//使能看门狗,计数周期约279.62ms(超过279.62ms不喂狗就产生复位) EDIS; /* 计数周期计算方法(单位:秒): 256/( OSCCLK/512/ (2的(k-1)次方) ) * * OSCCLK代表时钟源频率,本开发板是由外部30Mhz晶振提供的,所以在这里OSCCLK为30M * * k代表WDCR寄存器后三位的十进制值,在本例为二进制111也就是十进制值7 */ }

/****************************************************************************** * 函 数 名 : FeedDogs * 函数功能 : 喂狗 * 形 参 : 无 * 返 回 值 : 无 *******************************************************************************/ void FeedDogs(void) { //必须要先向WDKEY写入0X55,紧接着写入0xAA,否则喂狗失败;没有任何原因,手册规定的 EALLOW; SysCtrlRegs.WDKEY=0x55; SysCtrlRegs.WDKEY=0xAA; EDIS; }

/****************************************************************************** * 函 数 名 : main * 函数功能 : 主函数 * 形 参 : 无 * 返 回 值 : 无 *******************************************************************************/ void main(void) { InitSysCtrl(); InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable();

DogInit();//看门狗初始化

while(1) { FeedDogs();//喂狗 DELAY_US(278000);//延时278ms } }

测试方法

1、因为本程序是下载存放到芯片RAM存储区,不必担心锁芯片的问题,所以可以直接在CCS软件里用debug调试的方法测试程序

2、通过上述代码注释可以知道此程序设置了279.62ms的看门狗,所以也就意味着必须要在这段时间内喂一次狗,否则就复位,主函数循环里面放278ms延时,也就是间隔278ms喂一次狗,可以看到我debug全速运行程序、暂停、一切正常,如下两图

3、当把喂狗的时间间隔改成280ms的时候,已经超过了设置的279.62ms喂狗时间,debug一全速运行、再点暂停就能看到程序崩溃了,因为CCS软件在debug的途中芯片被复位了,所以可以判断出是因为没有按时喂狗,导致看门狗触发了芯片复位,如下两图可以看到debug崩溃

源程序下载链接

链接:https://pan.baidu.com/s/1MBzlATcGcwtV3WskP2wEZg?pwd=2d0g 提取码:2d0g

相关推荐

联系方法
bt365体育投注

联系方法

2025-07-06 👁️ 614
微信无法启动?一文教你解决问题!
手机版office365破解版

微信无法启动?一文教你解决问题!

2025-06-29 👁️ 5986
楚乔传剧情介绍(1-68集)大结局(林更新、赵丽颖主演)
·宝骏560
365365bet体育在线

·宝骏560

2025-07-01 👁️ 4153
·宝骏560
365365bet体育在线

·宝骏560

2025-07-01 👁️ 4153
寡的解释
365365bet体育在线

寡的解释

2025-07-02 👁️ 8824