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.

[参考译文] RM46L852:使用定时器进行时序测量

Guru**** 2616675 points

Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/782375/rm46l852-timing-measurements-using-timers

器件型号:RM46L852
主题中讨论的其他器件:HALCOGEN

IM 使用 RTI 模块触发1ms 中断(使用比较0)并在我的应用程序中触发任务执行。 -  Halcogen 比较模块0使用定时器0 (1msec 比较-计数器频率55MHz)

我注意到 、每次触发该中断时、我都会尝试使用 rtiGetCurrentTick (rtiCOMPARE0)获得计数器节拍(用于时序测量)

节拍计数复位。  

使用 HALCOGEN 配置设置以获取时序测量的最佳方法是什么?

在这种情况下、我希望有一个自由运行的计时器来计算任务执行抖动。

此任务调度程序的当前配置是、  

main(){

/*初始化 RTI 驱动程序*/
rtiInit();

/*启用 RTI 比较0中断通知*/
rtiEnableNotification (rtiNOTIFICATION_COMPARE0);

/*启动 RTI 计数器块0 */
rtiStartCounter (rtiCOUNTER_BLOCK0);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dorian、您好!
    当计数器 RTIFRCn 与 RTICOMPn 寄存器中的比较值相等时产生中断。 发生这种情况时、RTIUDCPn 中的值被添加到 RTICOMPn 中。 通过这种方式生成周期性中断。 rtiGetCurrentTick 不会复位寄存器的值。 rtiGetCurrentTick 返回介于两个比较匹配之间的值(tick = RTI_CNT_FRCx -(RTI_CMP_Compx - RTI_CMP_UCPx);)。 您可以用不同的方式设置自己的函数来读取计数器。
    查看此应用手册以了解执行时间测量示例 :www.ti.com/.../spna138a.pdf
    有关 RTI 计数器/比较/中断的更多信息,请参阅器件 TRM 第13章: www.ti.com/.../spnu514c.pdf

    此致、
    米罗
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到.. 能够修改此函数 rtiGetCurrentTick 以获得原始计数而不是 delta。 谢谢!