STM32 暂停调试器时冻结外设

STM32 Freezing periphirals when pausing the debugger

调试器可以在到达断点或用户暂停代码执行时停止在 Cortex 中执行代码。但是,当 cortex 在暂停状态下停止执行代码时,调试器会冻结其他外设,如 DMA、UART 和 TIMERS 吗?

您只能容纳time/r个依赖的外围设备。

我在进入主函数时调用了下面的代码:

  DBGMCU->APB1FZ |= DBGMCU_APB1_FZ_DBG_TIM2_STOP | DBGMCU_APB1_FZ_DBG_TIM3_STOP | 
                    DBGMCU_APB1_FZ_DBG_TIM4_STOP | DBGMCU_APB1_FZ_DBG_TIM5_STOP);

  DBGMCU->APB2FZ |= (DBGMCU_APB2_FZ_DBG_TIM19_STOP);

如果您的代码遇到断点,这将停止几个计时器。如果您的 DMA 事务依赖于指定的计时器(比如我的),它也会隐式停止,否则不会。