#include "iwdg.h" // 独立看门狗初始化,参数为重置的时长 ms void iwdg_init(int ms) { // 开启看门狗,向键寄存器写入 0x5555 IWDG->KR = 0x5555; // 设置预分频器为 64 分频 IWDG->PR = IWDG_Prescaler_64; // 设置重加载值 ms IWDG->RLR = 40000 / 64 * ms / 1000; // 让看门狗重加载计数值 IWDG->KR = 0xAAAA; // 启动看门狗计数 IWDG->KR = 0xCCCC; } // 喂狗函数 void iwdg_feed_dog(void) { // 让看门狗重加载计数值 IWDG->KR = 0xAAAA; }