Files
2026-10-19 15:47:18 +08:00

26 lines
570 B
C

#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;
}