TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430的timer做超长电平测量,TIMER的使用问题

我设想是这样的:timer设置成,脉冲下降沿捕获,捕获到下降沿读出TACCR1作为时间,如果计数器溢出了,我用变量记住溢出的次数,

但是如果捕获事件和溢出事件同时发生(前后差几个微妙,中断没处理过来),TAIV 标志是不是只能保存一个事件,如果没及时处理完成,会被后面的事件覆盖?

用什么方法能解决这个问题?

Susan Yang:

您现在同时使用了定时器捕获比较(CCIE)以及定时器溢出(TAIE)。如果您陷入ISR_trap,就会出现不能正常触发的情况。

如果您在定时器A溢出时使用第二个中断,那么每次进入中断时都需要确保读取TAIV寄存器。有多个源会导致该中断,该寄存器会告诉您哪一个引起了中断

另外参考之前的帖子:
e2echina.ti.com/…/136702

user280651:

回复 Susan Yang:

我的意思是如果在某种极端情况下,计数器溢出中断和捕获中断只相差很短时间,比如只相差2us,这个时候如果mcu正处理其他中断比如串口通讯,这个时候TAIV 标志是捕获中断还是计数器溢出中断呢?因为这个值不是位标识,而是数值,这样是不是只有后面的中断有效?

赞(0)
未经允许不得转载:TI中文支持网 » MSP430的timer做超长电平测量,TIMER的使用问题
分享到: 更多 (0)