我设想是这样的:timer设置成,脉冲下降沿捕获,捕获到下降沿读出TACCR1作为时间,如果计数器溢出了,我用变量记住溢出的次数,
但是如果捕获事件和溢出事件同时发生(前后差几个微妙,中断没处理过来),TAIV 标志是不是只能保存一个事件,如果没及时处理完成,会被后面的事件覆盖?
用什么方法能解决这个问题?
Susan Yang:
您现在同时使用了定时器捕获比较(CCIE)以及定时器溢出(TAIE)。如果您陷入ISR_trap,就会出现不能正常触发的情况。
如果您在定时器A溢出时使用第二个中断,那么每次进入中断时都需要确保读取TAIV寄存器。有多个源会导致该中断,该寄存器会告诉您哪一个引起了中断
另外参考之前的帖子:
e2echina.ti.com/…/136702
user280651:
回复 Susan Yang:
我的意思是如果在某种极端情况下,计数器溢出中断和捕获中断只相差很短时间,比如只相差2us,这个时候如果mcu正处理其他中断比如串口通讯,这个时候TAIV 标志是捕获中断还是计数器溢出中断呢?因为这个值不是位标识,而是数值,这样是不是只有后面的中断有效?
TI中文支持网



