工具与软件:
在我们的应用中、基于计时器0、每1ms 会检查一次某些检查条件。 在断点命中时进行调试时、由于计时器0 IRQ 处于挂起状态(已设置矢量表中验证的挂起位)、计时器仍保持运行、步进后立即提供计时器 IRQ、检查条件由于哪个 MCU 复位(预期行为)而失败
在调试时是否可以停止计时器
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
在我们的应用中、基于计时器0、每1ms 会检查一次某些检查条件。 在断点命中时进行调试时、由于计时器0 IRQ 处于挂起状态(已设置矢量表中验证的挂起位)、计时器仍保持运行、步进后立即提供计时器 IRQ、检查条件由于哪个 MCU 复位(预期行为)而失败
在调试时是否可以停止计时器
想法是设置 PDBGCTL:FREE=0。 Driverlib 提供了一个函数、您可以这样做:
> DL_Timer_setCoreHaltBehavior (timer、DL_timer_core_Halt_immediate );// PDBGCTL:{free=0.soft=0}
---
未经请求:在该寄存器中大骂(TIMG8/12)我观察到:
1) 1)复位值在 TRM (SLAU847D)表23-37中显示为 FREE=0、SOFT=0 [以红色显示?]、但在我给计时器上电(PWREN=1)后看到 FREE=1、SOFT=1。
2)设置 FREE=0、SOFT=1 (DL_TIMER_CORE_HALT_DELAYD)要么(a)没有停止计时器要么(b)花费了这么长的时间(>1ms)、我无法辨别。 设置 FREE=0、SOFT=0似乎在断点处停止计时器。
3) TRM 第23.2.10条说,这将只适用于 TIMA ,但它似乎工作(设置上述奇怪)为 TIMG8/12。
[编辑:我刚注意到我在 G3507上进行了这些实验。 我希望 L1306的结果相同。]