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.

[参考译文] TMS320F280021:MCU 初始化问题- LED 指示器保持亮起

Guru**** 2534260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1300892/tms320f280021-issue-with-mcu-initialization---led-indicator-remains-on

器件型号:TMS320F280021

大家好。

我在 MCU 的初始化过程中使用一个 LED 作为状态指示器。

处理流程如下:MCU 上电->初始化->主函数。

初始化函数由 initsysctrl()、initgpio()、initciltrl()和 initpievetable()组成。  

在 initgpio()期间,我将 LED GPIO 引脚设置为"L",这会打开 LED。 这是 initgpio()函数正在执行的指示符。

在初始化之后:如果整个初始化过程,包括 initgpio()和其他函数,如 initciltrl()和 initpievetable()完成,没有任何错误,然后我将 LED GPIO 设置为 "H",关闭 LED。 这表示已成功完成初始化。

下面是我遇到的错误...
有时,在我的微控制器的初始化过程中,我在 initgpio()中设置为低电平(ON)的一个 LED 在初始化过程应该完成后保持"ON"状态。

发生这种情况时、MCU 的主函数不执行。  在 这种情况下、我手动关闭然后打开电源以重置系统。

预期的行为是在初始化过程结束时将 LED 设置为高电平(关闭)、表示成功完成并转换到主函数。

基于上述情况、我正在寻找有关如何解决此问题的建议...

1.在 这种偶然情况下 LED 保持"打开"和主功能无法执行的任何可能原因?

2. 是否 有人能建议解决此问题的实际步骤?

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

    Noa、您好!

    有时,在我的微控制器初始化过程中,我在 initgpio ()中设置为低电平(on)的 LED 指示灯在初始化过程应该完成后仍保持"开"状态。

    当您说此错误偶尔发生时、您能否说明它的频率有多高? 是在任何特殊情况下(例如通过 CCS 复位或重新启动器件、将 XRSn 引脚驱动为低电平等)吗?

    Unknown 说:
    发生这种情况时、MCU 的 main 函数不执行

    您能否单步执行该代码、以查看该行的 GPIO 寄存器是否每次都正确更改? 它只在你运行时没有断点/优化时发生吗? 你是否检查过程序是否被捕捉在一个非法 ISR 或者 ESTOP 中?

    在您回答上述问题后、我们可以尝试确切缩小您看到 LED 如此表现的原因。