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.

[参考译文] TMS320F28069:获得意外的超时中断。

Guru**** 2589275 points
Other Parts Discussed in Thread: TMS320F28069

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/771068/tms320f28069-getting-unexpected-timeout-interrupt

器件型号:TMS320F28069

尊敬的所有人:

我正在使用配置为单次触发(id=1)的计时器。 器件型号:TMS320F28069。

启动模式:定时器将由用户启动。

在 ISR 内部、我通过调用具有所需超时的"Timer_setPeriodMicroSecs()"函数来重新加载周期。 提供的值介于1000和21000微秒之间。 之后、我再次启动计时器。

有时(可能在几百个周期后出现、可能在数十万个周期后出现)、我会在前一个周期之后得到大约80 μ s 的中断。  

我确信(由调试工具验证) 在上次调用时提供给 Timer_setPeriodMicroSecs()的值至少为1000。

请提供建议。

Alex。

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

    请尝试通过创建一个简单的测试用例来隔离问题。 创建一个仅包含定时器所需代码(主函数、初始化代码和单个 ISR)的项目。 禁用看门狗并测试您的代码。 (对于测试、您可以在 main 的开头放置一个断点)。 如果这按预期工作、则问题不在于计时器、而在于项目中运行的其他代码/函数。

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

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

    我上次听说过您、已经有一段时间了。 因此,我假设我的最后一个答复可以解决你的问题。 如果情况并非如此,请拒绝此解决方案或回复此主题。 如果此主题被锁定、请制作一个描述问题当前状态的新主题。 谢谢你。

    - Ken
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Ken、
    在我的应用程序中进行一些更改后、我无法再重现此问题。
    可能是某种内存溢出导致向计时器写入垃圾、但我仍然不确定。
    总之、感谢您的帮助、我将向您介绍最新消息。
    BR、
    Alex。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Alex、

    感谢您的告知。

    - Ken