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.

[参考译文] CCS/LP-MSP430FR2476:调试模式使 MSP430FR2476 LP 开箱即用应用程序在几秒钟内忽略 GPIO 中断

Guru**** 2387080 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/944141/ccs-lp-msp430fr2476-debug-mode-causes-msp430fr2476-lp-out-of-box-application-to-ignore-gpio-interrupts-for-several-seconds

器件型号:LP-MSP430FR2476

工具/软件: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 中断后、再也不会触摸它们。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我尚未在 FR2476上使用过 OOB 应用、但我猜它通过 UART 与主机 GUI 进行通信。

    当运行调试器时、传输到 PC "stutters"的 UART 数据会突发出来、延迟可能为几秒钟。 缓冲区的大小似乎为~64字节、因为较长的数据流不太明显。

    正如我所解释的(E2E 上的某个位置)、这是一个在 UART 和调试器之间共享 USB 的工件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没错。 感谢您的反馈。

    在授权我的帖子时、我通过更改演示代码来执行更多测试、以切换代码中消耗由中断更改的变量的 LED1。 变化是立即发生的。 将逻辑分析仪连接到 UART 还可以确认是反向通道 UART 适配器在启用调试时正在缓冲数据。

    中断运行正常、只是中断执行的结果、即 UART 输出、由开发工具进行缓冲。 因此、如果在使用电路板的嵌入式工具执行 SBW 时需要实时访问 UART、最好将 UART 转 USB 转换器插入到引脚栏。