尊敬的专家:
我正在使用 TMS320F280025、我正在使用两个 CPUTimer、我使用 CPUTimer0测试相邻中断之间的间隙、我还使用 CPUTimer0测试应用程序的执行时间。我使用 CPUTimer1并为不同 的周期性任务启用其中断。我 在初始化中启用 CPUTimer0和 CPUTimer1、并且不停止它们。
例如、我添加了一些代码来测试10ms 任务的间隙:
空任务(空)
{
t10ms_start_temp = t10ms_stop_temp;
T10ms_stop_temp = CPUTimer_getTimerCount (CPUTIME0_BASE);
if (t10ms_start_temp>=t10ms_stop_temp)
{
T10ms_Int_GAP = T10ms_start_temp - T10ms_stop_temp;
}
其他
{
T10ms_Int_GAP = 4294967295 - T10ms_stop_temp + T10ms_start_temp;
}
}
T10ms_Int_GAP 的预期值约为1000000、但在我调试代码后 、T10ms_Int_GAP 的值显然小于 1000000。我认为 CPUTimer 的计数是不一致的、不会受到其他模块的影响。但结果表明 CPUTimer 可能会因为某个原因而停止。是这样 我的上述代码是否会停止或出现错误?