Atollic Studio在调试时是否应暂停中断?

时间:2014-09-02 12:56:46

标签: debugging interrupt stm32

我使用Atollic TrueSTUDIO for ARM 5.0.0 Lite通过SWD调试接口调试STM32F3应用程序。应用程序通过USART的中断接收数据。

当我"跳过"一个相对较长的功能,应用程序不会暂停,即程序在呼叫后没有到达线路。当我然后手动暂停应用程序时,我发现它位于USART ISR的入口处,所以我得出结论暂停执行,即使Atollic的调试器没有识别它。

更大的问题是,当我简单地恢复时会发生同样的情况:我无法在连接调试器的情况下运行我的应用程序,因为USART上的每个字节都会暂停它。

我对情况的分析是否正确?这是预期的行为,有没有办法解决它?非Atollic特定答案也非常受欢迎!

1 个答案:

答案 0 :(得分:0)

说实话,我无法在脑海里形成一幅清晰的画面,但是这里有可能:你没有使用以下方法清除正确的旗帜。来自标准外设库的USART_ClearITPendingBit()函数调用,或者在直接寄存器访问方面的等效函数。如果你没有清除正确的位,一旦你从ISR返回,硬件就会再次执行它,所以看起来你在ISR里面处于无限循环中。