TI M4看门狗watchdog使用

使用的M4是TI的TM4C123型芯片

根据datasheet,该芯片的watchdog有两个watchdog Timer,WDT0与WDT1,WDT0使用的系统时钟,WDT1使用的是固定的比较精确的内部时钟,时钟频率固定为16MHz。另外,这两个watchdog Timer还有另外一个区别:访问或设置WDT0模块相关寄存器对时序无特殊要求(因其使用的是系统时钟),而访问或设置WDT1模块相关寄存器时对时序有要求(其使用的是内部其他时钟16MHz)。对WDT1访问的时序可通过查询WDTCTL寄存器中的WRC位来实现,当WRC=1时,WDT1可访问或设置,当WRC=0时,WDT1仍在设置且未完成。

TI M4的WDT是二次超时机制,第一次超时,产生中断,第二次超时,则产生复位信号(WDTCTL的RESEN=1)。

关于WDT的中断问题,对WDT的中断清除操作实际上即是喂狗操作。而是否需为WDT设定中断处理函数,则是看具体情况而定,即可设定中断处理函数也可不设定(不设定时芯片依然按照上述机制产生复位信号)。当设定了中断处理函数时,中断处理函数可为空函数(不做任何处理),或者是直接在函数内清除中断标志或重新载入超时值到计数器或直接喂狗。还是那一句话,具体怎么处理看情况,反正都可以。

WDT的初始化及配置参考datasheet:
1、载入超时值到WDTLOAD寄存器中;
2、如果是WDT1,等待WDTCTL的WRC=1;
3、如果WDT是配置成触发系统复位的目的,将WDTCTL

你可能感兴趣的:(TI,M4,TI,M4)