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.
RTI 模块在 HALCOGEN 中配置如下:
3个时序中断由计数器0生成:1ms (compare0)、4ms (compare1)和10ms (compare2)。 计数器1、比较3周期最大值(0xFFFFFFFF)也用于监视上述1ms 和4ms 定时器中断的周期。 通过读取 Compare3的节拍、函数为 rtiGetCurrentTick (compare3)、计算该返回值的两个中断之间的差值以获得周期、并记录上述周期的最大值和最小值。
问题:
10ms 任务执行更多(函数执行更多)、1ms 和4ms 时序周期偏移更大、并且10ms 内没有中断关闭和重新启用。
客户想知道原因是什么。
谢谢!
此致、
樱桃周
您好、Cherry、
您是不是说客户获得更多比较2中断、以及来自 compare1和比较0的中断更少? 客户可以声明3个全局变量(例如 cnt0、cnt1和 cnt2)来对比较0/1/2中的中断数进行计数。
void rtiNotification (rtibase_t * rtiREG、uint32通知)
{
/*在用户代码开始和用户代码结束之间输入用户代码。 *
/*用户代码开始(12)*/
if (notification == rtiCOMPARE0)
cnt0++;
if (notification == rtiCOMPARE1)
cnt1++;
if (notification == rtiCOMPARE2)
cnt2++;
/*用户代码结束*/
}
我不知道客户方法是如何工作的。