0、独立看门狗的使用
独立看门狗基于低速内部RC振荡器(LSI)运行。
若LSI运行正常,当主程序发生错误时,无法重置看门狗计数器,独立看门狗将会产生复位标志位并重启。
由于独立看门狗基于LSI运行,与主程序、大部分外设相独立,这能最大限度保证独立看门狗的功能正常运行。
1、使能独立看门狗
/* 使能独立看门狗 (低速内部RC振荡器(LSI)将会被硬件使能) */
IWDG->KR = (uint8_t)0xCC;
注意!一旦独立看门狗被使能将无法禁用!
如果你需要使用stm8s的低功耗模式,同时需要使用看门狗复位功能,请选择窗口看门狗!
2、配置分频因子与重装载值
解除PR、RLR寄存器写保护
/* PR、RLR寄存器有写保护,通过向KR寄存器写入0x55解除写保护。 */
IWDG->KR = (uint8_t)0x55;
/* 通过写入0xAA恢复写保护。 */
IWDG->KR = (uint8_t)0xAA;
设置IWDG分频
/* 4分频 */
IWDG->PR = (uint8_t)0x00;
/* 8分频 */
IWDG->PR = (uint8_t)0x01;
/* 16分频 */
IWDG->PR = (uint8_t)0x02;
/* 32分频 */
IWDG->PR = (uint8_t)0x03;
/* 64分频 */
IWDG->PR = (uint8_t)0x04;
/* 128分频 */
IWDG->PR = (uint8_t)0x05;
/* 256分频 */
IWDG->PR = (uint8_t)0x06;
设置IWDG自动重装载值
/* IWDG_Period为需要设置的自动重装载值 */
IWDG->RLR = (uint8_t)(IWDG_Period);
IWDG计时触发公式
IWDG_Period= (time * IWDG_Counter_Clock - 1);
IWDG_Period为设置的自动重装载值
time 为IWDG触发所需时间(s)
IWDG_Counter_Clock 为IWDG频率,等于LSI/IWDG分频值(hz)
3、初始化案例
__IO uint32_t LsiFreq = 128000;
/* Enable IWDG (the LSI oscillator will be enabled by hardware) */
IWDG->KR = (uint8_t)0xCC;
/* IWDG timeout equal to 250 ms (the timeout may varies due to LSI frequency
dispersion) */
/* Enable write access to IWDG_PR and IWDG_RLR registers */
IWDG->KR = (uint8_t)0x55;
/* IWDG counter clock: LSI(128KHZ)/128 = 1000 */
IWDG->PR = (uint8_t)0x05;
/* Set counter reload value to obtain 250ms IWDG Timeout.
Counter Reload Value = 250ms/IWDG counter clock period
= 250ms / (LSI/128)
= 0.25s / (LsiFreq/128)
= LsiFreq/(128 * 4)
= LsiFreq/512
*/
IWDG->RLR = ((uint8_t)(LsiFreq / 512));
/* Reload IWDG counter */
IWDG->KR = (uint8_t)0xAA;
主函数
void main(void)
{
/**
* 省略
*
*/
while (1)
{
/**
* 省略
*
*/
/* Reload IWDG counter */
IWDG_ReloadCounter();
}
}
上一篇:STM8S(105K4)使用笔记——通过TIM1输出PWM做呼吸灯
下一篇:STM8S(105K4)使用笔记——系统时钟的基础配置
推荐阅读最新更新时间:2024-11-04 19:36
设计资源 培训 开发板 精华推荐
- STEVAL-MKI167V1、H3LIS200DL 用于标准 DIL24 插座的适配器板
- ADP1828 PWM 降压控制器使用 2.25 V 至 2.75 V 作为输入电压
- LTC4067,USB 电池充电器/控制器
- MIKROE-3575,存在点击板是一种红外感应,可用于存在感应、运动检测和远程过热保护
- 使用 NXP Semiconductors 的 MKV46F256VLL 的参考设计
- 屏幕排线转接板
- LT4275AIMS LTPoE++ 38.7W 至 90W 受电设备的典型应用电路
- 使用 NXP Semiconductors 的 SSL2102 的参考设计
- R_84_V10基于IPS2电机换向传感器的设计
- OP184FS-REEL7输出过载恢复运放测试电路典型应用