IWDG
/*
independent watchdog IWDG
本质:能产生系统复位的计数器
特性:递减,独立RC振荡器提供时钟(LSI),待机模式可运行
递减到0x000时产生复位信号
作用:异常处理最后手段
*启动IWDG后 LSI自动开启
LSI 32KHz
密钥寄存器 IWDG_KR
0xAAAA == 喂狗
0x5555 == 允许访问IWDG_PR(预分频器R),IWDG_RLR(重装载R)
0xCCCC == 软件启动IWDG
LSI频率:fLSI == 32,000Hz
分频系数:psc == 选择4分频
重装载值:rlr == 0x001 到 0xFFF
溢出时间Tout == rlr * 1/(fLSI / psc)
最短Tout == 1 * 1/(32000 / 4) == 0.000125s = 0.125ms
最长Tout == 0xFFF * 0.000125s == 0.511875s = 512ms
*/
IWDG初始化函数
/*创建IWDG句柄h_iwdg*/
IWDG_HandleTypeDef h_iwdg;
/*初始化IWDG*/
void IWDG_Init(void)
{
/*h_iwdg参数选择*/
h_iwdg.Instance = IWDG; //h_iwdg 关联 IWDG
h_iwdg.Init.Prescaler = IWDG_PRESCALER_4; //分频系数4分频
h_iwdg.Init.Reload = 4095; //0xFFF,溢出时间最长Tout == 0xFFF * 0.000125s == 0.511875s = 512ms
/*使用HAL_IWDG_Init()配置h_iwdg*/
if(HAL_IWDG_Init(&h_iwdg) != HAL_OK)
{
Error_Handler();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用