stm32/powerctrl: Ensure SysTick is disabled on STOP mode entry for H7.
Even though IRQs are disabled this seems to be required on H7 Rev Y, otherwise Systick interrupt triggers and the MCU leaves the stop mode immediately.
This commit is contained in:
parent
7b9b6d080a
commit
7dc2f4ed38
@ -502,6 +502,13 @@ void powerctrl_enter_stop_mode(void) {
|
||||
// executed until after the clocks are reconfigured
|
||||
uint32_t irq_state = disable_irq();
|
||||
|
||||
#if defined(STM32H7)
|
||||
// Disable SysTick Interrupt
|
||||
// Note: This seems to be required at least on the H7 REV Y,
|
||||
// otherwise the MCU will leave stop mode immediately on entry.
|
||||
SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk;
|
||||
#endif
|
||||
|
||||
#if defined(MICROPY_BOARD_ENTER_STOP)
|
||||
MICROPY_BOARD_ENTER_STOP
|
||||
#endif
|
||||
@ -659,6 +666,11 @@ void powerctrl_enter_stop_mode(void) {
|
||||
MICROPY_BOARD_LEAVE_STOP
|
||||
#endif
|
||||
|
||||
#if defined(STM32H7)
|
||||
// Enable SysTick Interrupt
|
||||
SysTick->CTRL |= SysTick_CTRL_TICKINT_Msk;
|
||||
#endif
|
||||
|
||||
// Enable IRQs now that all clocks are reconfigured
|
||||
enable_irq(irq_state);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user