STM32HAL库-02-IWDG独立看门狗

一笑奈何 提交于 2020-02-02 08:17:18

实验步骤:
1、取消写保护和设置预分频系数以及重装载值
2、启动看门狗(向 向 IWDG_KR 写入 0XCCCC)
3、重载计数值喂狗(向 IWDG_KR 写入 0XAAAA )

看门狗电路在达到预置的时间周期时,会产生一个 MCU 复位
即:如果不及时喂狗(重载计数值)会导致stm32复位

IWDG 有自己独立的 32Khz 时钟,独立看门狗的时钟是一个内部RC时钟,所以并不是准确的32Khz,

1、取消写保护和设置预分频系数以及重装载值在 HAL 库中是通过函数 HAL_IWDG_Init 实现的

IWDG_HandleTypeDef IWDG_HandleStruct;    //看门狗结构体
	IWDG_HandleStruct.Instance = IWDG;				// IWDG 地址
	IWDG_HandleStruct.Init.Prescaler = IWDG_PRESCALER_32;  //选择32分频,大概为1kHz
	IWDG_HandleStruct.Init.Reload = 2000;				//2000<0xfff=4095,2000*1ms=2s
	
	HAL_IWDG_Init(&IWDG_HandleStruct);

2、启动看门狗(向 向 IWDG_KR 写入 0XCCCC)

	HAL_IWDG_Start(&IWDG_HandleStruct);	

3、重载计数值喂狗(向 IWDG_KR 写入 0XAAAA )

	HAL_IWDG_Refresh(&IWDG_HandleStruct);
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!