STM32L0看门狗设置LL库
CUBE配置启用看门狗
参数 | 描述 | 取值范围 |
---|---|---|
counter clock prescaler | 计数器时钟分频系数 | 4,8,16,32,64,128,256 |
down-counter reload value | 向下计数器重装载值 | 0 ~ 4095 |
看下时钟,IWDG是LSI提供的时钟
时钟频率是37KHz,如果分配设置成256,IWDG执行周期就是144.5Hz,value设置成4095,最大可以到28秒复位
喂狗和初始化代码
/* IWDG init function */
void MX_IWDG_Init(void)
{/* USER CODE BEGIN IWDG_Init 0 *//* USER CODE END IWDG_Init 0 *//* USER CODE BEGIN IWDG_Init 1 *//* USER CODE END IWDG_Init 1 */hiwdg.Instance = IWDG;hiwdg.Init.Prescaler = IWDG_PRESCALER_256;hiwdg.Init.Window = 4095;hiwdg.Init.Reload = 4095;if (HAL_IWDG_Init(&hiwdg) != HAL_OK){Error_Handler();}/* USER CODE BEGIN IWDG_Init 2 */__HAL_IWDG_START(&hiwdg);/* USER CODE END IWDG_Init 2 */}/* USER CODE BEGIN 1 */
void feed_dogs(void)
{__HAL_IWDG_RELOAD_COUNTER(&hiwdg);
}
/* USER CODE END 1 */