当 Cortex 到达断点或用户暂停代码执行时,调试器可以停止执行 Cortex 中的代码。但是,当 cortex 在暂停状态下停止执行代码时,调试器是否会卡住其他外围设备,如 DMA、UART 和 TIMERS?
最佳答案
您只能保留时间/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 事务取决于指定的计时器(如我的),它也会隐式停止,否则不会。
关于debugging - 暂停调试器时 STM32 卡住外围设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43204687/