工具/软件:Code Composer Studio
在 CCS 中使用未修改的开箱即用示例应用时、板载 LP 调试器似乎以循环方式禁用 GPIO 中断几秒钟。
要复制:
- 编译并运行开箱即用示例应用、无需修改。
- 执行"Debug"(F11)。
- 一旦应用程序在代码的第一行启动并停止、执行"Resume"(恢复)(F8)。
- 按 LP 按钮:消息将需要几秒钟的时间才能显示。
- 演示中的所有其他内容仍然有效:正在读取 ADC 并更新 LED、PWM 颜色编码完全正常。
在以下情况下不会出现此问题:
- 在未启用调试器或使用"Free Run"(Ctrl+F8)的情况下运行。
- 分步调试的步骤。
- 在进入 LPM0之前或之后调用"EUSCI_A_UART_transmitData"或直接写入"while (1)"内的 TX 缓冲寄存器。
- 在任何周期性中断例程内、如 在同一示例中的 ADC ISR 内、向 UART 发送一个字节、就像在上一个项目中一样。
通过逐步调试或向反向通道 UART 发送字节、使调试器保持活动状态似乎可以防止此问题的发生。 否则、它会禁用 GPIO 中断、使能这些中断较短的时间、然后重复禁用几秒钟。
我已经上下检查了演示代码:没有中断屏蔽指令、启用 GPIO 中断后、再也不会触摸它们。