gpt4 book ai didi

stm32 - 在 STOP 模式之前禁用 STM32 HAL IWDG 或 WWDG(看门狗)

转载 作者:行者123 更新时间:2023-12-04 01:50:34 25 4
gpt4 key购买 nike

我使用 STM32 (L0 5) HAL 我需要在进入 STOP 模式之前禁用 IWDG 或 WWDG。下面的代码工作正常,直到 IWDG 从停止模式重置 MCU。尽管 HAL_WWDG_Refresh 在每行之后被调用,但对于 WWDG 使用,这要快得多并在调用 HAL_PWR_EnterSTOPMode 之前重置。我也在 Nucleo L05 上测试了这些场景。

iwdgHandle.Instance = IWDG;
iwdgHandle.Init.Prescaler = IWDG_PRESCALER_64;
iwdgHandle.Init.Window = 4095;
iwdgHandle.Init.Reload = 4095;
if (HAL_IWDG_Init(&iwdgHandle) != HAL_OK) // almost 7secs until refresh has to be called
{
_Error_Handler(__FILE__, __LINE__);
}

HAL_PWR_EnableWakeUpPin(WakeSpi_Pin);
HAL_PWREx_EnableUltraLowPower(); // Enable Ultra low power mode
HAL_PWREx_EnableFastWakeUp(); // Enable the fast wake up from Ultra low power mode

HAL_SuspendTick();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);

最佳答案

独立看门狗不能在任何处理器模式下停止。您必须定期醒来以重新加载看门狗。您可以做的是将预分频器更改为最大值,以便看门狗计数缓慢。

只有断开 Controller 与电源的连接,IWDG 才会停止。

关于stm32 - 在 STOP 模式之前禁用 STM32 HAL IWDG 或 WWDG(看门狗),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53334571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com