在C6746中设置两个中断:
1)Timer1为25us,映射到vector5,用timer2regs的低32位进行计数;
2)Timer0为100us 映射到vector6,用timer3regs的低32位进行计数.
现在的问题是Timer1 25us的中断在400个周期内,偶尔会出现一个22us的中断,紧接着出现一个28us的中断,请问是什么原因?是什么导致定时中断产生偏差?
Denny%20Yang99373:
可以考虑先把TIMER0和其他中断关掉,看看是否互相有影响
user1267603:
回复 Denny%20Yang99373:
应该是两个定时中断相互影响的缘故,改为进入100us的中断后,再启动25us的中断,
25us的中断连续再进入2次后,就关闭25us的中断,之后等进入到100us的中断后,再打开25us
的中断,就没有问题。是两个中断的上升沿同时到达时出的问题,这是为什么呢?两个中断
不是有优先级的吗?