STM32 独立看门狗使用经验(Cortex-M3)
看门狗的喂狗时间(看门狗溢出时间)计算公式:
Tout=((4*2^prer)*rlr)/40
其中Tout就是看门狗溢出时间(单位ms),prer是看门狗时钟预分频值(IWDG_PR值),范围为0~7,rlr位看门狗重载值(IWDG_RLR)。
void IWDG_Configuration(void)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //解除寄存器保护
IWDG_SetPrescaler(IWDG_Prescaler_256); // 写入初始化分频值 0~7
IWDG_SetReload(0xFFF); //0xfff*256/40k=26s
IWDG_ReloadCounter(); //开启寄存器保护
IWDG_Enable(); //启动看门狗
}
初始化完成后 看门狗开始逐渐递减计数到0000并复位 ,所以在复位之前要不断喂狗,即不断重新加载数据到IWDG_RLR中防止复位。
void IWDG_Feed(void)//喂狗函数
{
IWDG->KR=0XAAAA;
}
上一篇:STM32自学笔记——看门狗
- Keil MDK破解过程详解[18年05月20日 11:11]
- STM32F407之模拟I2C(二)之24C128[18年05月20日 12:18]
- STM32F1使用I/0模拟I2C接口[18年05月20日 12:17]
- STM32模拟I2C程序[18年05月20日 12:13]
- STM8S 模拟I2C程序[18年05月20日 12:14]
- 普通IO口模拟实现I2C通信及应用解析[18年05月20日 12:12]