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.

RM57L843: RTI定时器周期偏移

Part Number: RM57L843
Other Parts Discussed in Thread: HALCOGEN

TI工程师您好:

    RTI模块我是在HALCOGEN如此配置的:采用counter 0产生三个定时中断:1ms (compare0),4ms (compare1)和10ms (compare2)。同时采用counter 1,compare3周期最大(0xFFFFFFFF)来监控上述1ms和4ms定时中断的周期,通过读取Compare3的tick,函数是rtiGetCurrentTick(compare3),计算两次中断该返回值的差值来得到周期, 并且记录上述周期的最大值和最小值。我发现一个奇怪的现象:

   10ms任务执行一多(函数执行多),1ms和4ms定时周期的偏移就会比较大,10ms中没有关闭中断和重新使能中断的操作。想请教一下这个可能是什么原因产生的。

  • 您好我们已收到您的问题并反馈,预计将于24小时内给您答复。谢谢。

  • 您目前的状况是获得了更多compare 2 中断,而 compare1 和compare0 的中断较少对吗?

    我们建议您可以声明 3 个全局变量 (例如 cnt0 、 cnt1 和 cnt2) 来计算compare 0/1/2 中的中断数。

    void rtiNotification(rtiBASE_t *rtiREG, uint32 notification)
    {
         /* enter user code between the USER CODE BEGIN and USER CODE END. */
         /* USER CODE BEGIN (12) */

         if (notification == rtiCOMPARE0)

              cnt0++;

         if (notification == rtiCOMPARE1)

              cnt1++;

         if (notification == rtiCOMPARE2)

              cnt2++;

         /* USER CODE END */
    }