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.

[参考译文] F29H85X-SFO-EVM:SOM () 函数中的代码卡在无限循环中

Guru**** 2563960 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1570151/f29h85x-som-evm-code-stuck-in-infinite-loop-in-sfo-function

器件型号:F29H85X-EVM-EVM SOM


工具/软件:

您好、

我正在尝试使 HRPWM 正常工作。 我的代码在 SFO () 函数中陷入无限循环,它不会返回任何内容。

SFO 函数进入无限循环可能的原因是什么?

如果您需要任何其他信息来了解根本原因、请告诉我。

谢谢、

Mukul

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

    你好 Mukul、

    您是否能够尝试针对 F29x 运行我们的 HRPWM 示例?

    听起来似乎 SFO 库由于某种原因无法完成校准。 设备初始化后是否在 SFO 库中调用?  

    此致、

    Ryan Ma

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

    您好、Ryan、

    是的、我能够运行 TI 示例。

    是的、我只在设备初始化后调用 SFO。

    谢谢、

    Mukul

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

    你好 Mukul、

    该示例是否在 SFO 函数中挂起?  

    此示例之间可能有什么不同、以及您在哪里看到问题? 您是否在个人项目中看到了问题?

    此致、

    Ryan Ma

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

    您好、Ryan、

    我已经将我的代码与 TI 示例进行了比较、找不到任何显著差异。 我现在也能够重现 TI 示例的问题。

    在这两种情况下、代码都是这样  不会  卡在 SFO 函数本身内部、而是卡在 while 检查状态的循环中:

    while (status == SFO_INCOMPLETE)

    对于我的代码和 TI 示例、校准永远不会完成—status 始终保持为 0SFO_INCOMPLETE ()。 以下是我代码中的相关部分:

    gHrpwmCal_base = HRPWMCAL1_BASE;
    do {
        status = SFO();
    } while (status == 0);

    我不确定发生了什么变化、但现在这两种情况下都出现了这个问题。 请参阅随附的图像以供参考。

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

    你好 Mukul、

    我正在使用 F29x 1.02.00 进行测试、无法重现此问题。

    如何重现此问题? 您能否展示一下在 TI 示例中能够重现问题的确切代码?

    您能否尝试在 for 循环中设置写入时基周期的断点? 您无法实现此目标吗?

    此致、

    Ryan Ma