单片机的watchdog一般都有两个,一个是独立看门狗IWDG,一个是窗口看门狗WWDG。
以STM32为例,STM32的独立看门狗是一个12位的递减计数器,当计数器的值从某个值一直减到0的时候,系统就会产生一个复位信号,即IWDG_RESET。看门狗功能由VDD电压域供电,在停止模式和待机模式下仍能工作。
关于STM32的独立看门狗的框图如下所示:
为了防止程序在运行过程中跑飞,加上一个看门狗实时监控程序,如果在规定的时间内没有喂狗,则狗叫会是的单片机复位。
如果在规定的时间内,刷新计数器的值,则单片机就不会产生复位,即我们所说的喂狗。
STM32的看门狗超时时间(40KHz的输入时钟(LSI))如下表所示:
void IWDG_Config(void) { IWDG_WriteAccessCmd( IWDG_WriteAccess_Enable ); IWDG_SetPrescaler(IWDG_Prescaler_64); IWDG_SetReload(500); IWDG_ReloadCounter(); IWDG_Enable(); }
全部0条评论
快来发表一下你的评论吧 !