单片机型号:STM32L053R8T6
开发笔记STM32开发笔记45:看门狗驱动程序的移植介绍了看门狗驱动程序的基本设计方法。今天项目中看门狗的延时时间达到10秒,则实际运行效果只有3秒。
以下是看门狗最大延时时间的设置函数:
void CIwdg::SetMaxRefreshInterval(uint8_t u8_second)
{
this-》hIwdg.Instance = IWDG;
this-》hIwdg.Init.Prescaler = IWDG_PRESCALER_64;
this-》hIwdg.Init.Window = 4095;
#if defined STM32F091xC || defined STM32F070x6
this-》hIwdg.Init.Reload = 625 * u8_second; //40000000 / 1000 / 64 * 5 = 3125
#elif defined STM32L053xx
this-》hIwdg.Init.Reload = 578 * u8_second; //37000000 / 1000 / 64 * 5 = 2890
#endif
if (HAL_IWDG_Init(&this-》hIwdg) != HAL_OK)
{
Target.ErrorHandler(__FILE__, __LINE__);
}
}
单片机型号:STM32L053R8T6
开发笔记STM32开发笔记45:看门狗驱动程序的移植介绍了看门狗驱动程序的基本设计方法。今天项目中看门狗的延时时间达到10秒,则实际运行效果只有3秒。
以下是看门狗最大延时时间的设置函数:
void CIwdg::SetMaxRefreshInterval(uint8_t u8_second)
{
this-》hIwdg.Instance = IWDG;
this-》hIwdg.Init.Prescaler = IWDG_PRESCALER_64;
this-》hIwdg.Init.Window = 4095;
#if defined STM32F091xC || defined STM32F070x6
this-》hIwdg.Init.Reload = 625 * u8_second; //40000000 / 1000 / 64 * 5 = 3125
#elif defined STM32L053xx
this-》hIwdg.Init.Reload = 578 * u8_second; //37000000 / 1000 / 64 * 5 = 2890
#endif
if (HAL_IWDG_Init(&this-》hIwdg) != HAL_OK)
{
Target.ErrorHandler(__FILE__, __LINE__);
}
}
举报