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

MSP430F413中捕获和比较模块这种情况,怎么设置?

现在想利用413MCU的TIMER_A的比较模块来产生1路125KHZ方波,同时还想利用TIMER_A的捕获模块来捕捉过来的数据,这两种情况必须能够同时触发。调试时方波很稳定,而且根据方波其他程序也调好了。SMCLK为1MHZ,TIMER_A具体设置如下:

TACTL|=MC_1+TASSEL_2+ID_0;//TASSEL_2选定SMCLK为时钟频率,MC_1选定增计数方式,ID_0选定不分频
TACCTL1=OUTMOD_7; //OUTMOD_7选定为输出方式7
TACCR0=8-1;//125KHZ,50%方波
TACCR1=4;

但是调到捕获的时候,因TIMER_A已经选定增计数方式了,TAR到TACCR0会自动清零,捕获就没有办法实施啦!请问这种情况怎么解决?

是不是在413MCU中125KHZ方波需要其他方式产生?或者换个415等MCU带2个16位的TIMER。

kqian0327:

你好,

有两种解决措施:

1.捕获TACCR1的值小于PWM输出值,TACCR0。

2.建议还是换一个带两个Timer的MCU来做,比如415。

step by step:

楼主,

   看你捕获信号的情况了,理论上可以试试软件的方法来实现:CCR0中断和捕获中断都打开,在CCR0中断里面记录下上次捕获中断发生以来进入CCR0中断的次数n,然后下一次进入捕获中断是做一个计算:

CCR0-TAR1+n*CCR0+TAR2

TAR1为上次捕获中断时的TAR值,TAR2为第二次捕获中断发生时的TAR值

当然如果要求捕获和定时都比较精确,还是推荐用两个定时器来实现。

赞(0)
未经允许不得转载:TI中文支持网 » MSP430F413中捕获和比较模块这种情况,怎么设置?
分享到: 更多 (0)