世界关注:STM32的看门狗怎么配置?看门狗初始化步骤有哪些?

最近这段时间总有小伙伴问小编STM32的看门狗配置是什么,小编为此在网上搜寻了一些有关于STM32的看门狗配置的知识送给大家,希望能解答各位小伙伴的疑惑。

看门狗的配置有2部分:看门狗的初始化和喂狗。

下面看一下STM32是怎么初始化看门狗和喂狗的。


(资料图)

看门狗初始化步骤:

1.IWDG_PR和IWDG_RLR寄存器具有写保护功能。要修改这两个寄存器的值,必须先向IWDG_KR寄存器中写入0x5555。

2.设置预分频因子 (Prescaler divider)PR[2:0] 。

3.设置看门狗计数器重装载值。RLR[11:0]。

4.重新装载看门狗的计数值,只要在键寄存器IWDG_KR中写入0xAAAA。

5.在键寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗。

void Wdt_Init(void){// Enable write access to IWDG_PR and IWDG_RLR registersIWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//IWDG->KR =0x5555// IWDG counter clock: 40KHz(LSI) / 64 = 0.625 KHzIWDG_SetPrescaler(IWDG_Prescaler_256);//IWDG->PR =0x06;

// Set counter reload value to 1250IWDG_SetReload(0xfff);//IWDG->RLR =0xFFFRed IWDG counter

IWDG_ReloadCounter();//IWDG->KR =0xAAAA

/ Enable IWDG (the LSI oscillator will be enabled by hardware)IWDG_Enable();//IWDG->KR =0xCCCC

}

//喂狗

void Kick_Dog(void){//Reload IWDG counterIWDG_ReloadCounter();//IWDG->KR =0xAAAA}

上面这个看门狗有 /25626214.4 ms。即2s多一点时间没有喂狗就复位。

LSI不稳定,官方手册有下面这么一个说法:

关键词: STM32看门狗配