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.

[参考译文] TMS320F2.8075万:计时器1-提前触发中断(在TIM递减至零之前)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/584982/tms320f28075-timer-1---trigger-interrupt-ahead-of-time-before-tim-decrements-to-zero

部件号:TMS320F2.8075万

大家好

我使用Timer1模块生成的ISR,该ISR设置为200us。 假设我必须对齐要同步的多个微控制器的计时器ISR。

现在,如果相关的定时器ISR太早,我只需调用Timer_start(Timer1_HWI),它就会重新加载TIM寄存器并重新启动定时器。
但是,如果计时器ISR太晚,请注意,ISR尚未触发,尽管在同步时(即由于振荡器容差)应该已触发ISR,我需要立即触发ISR并重新加载TIM寄存器。

现在,我看不出怎么做。

有人能帮忙吗?

谢谢Benjo

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

    我认为这个计时器周期不会太长,不会超出ePWM时基的范围。 为什么不使用ePWM计时器? 这些具有许多功能,允许通过SW或通过ePWM同步链的外部引脚进行同步。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的,谢谢。 我将检查ePWM模块。 问题是,在我们的100引脚外壳中,ePWM模块2-11已被其他设备使用。 可能ePWM 1和12在内部可用?!

    关于Timer1模块-计时器运行时直接写入TIM寄存器的情况如何?

    谢谢Benjo

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

    我似乎错过了您的回答。

    是的,ePWM模块可用作计时器,即使针脚不可用。

    就CPU计时器而言,我看不到在ISR中写入TIM寄存器有任何明显的问题。 您可能需要确保编译器生成的是单个32位写入,而不是两个单独的16位写入。