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

MSP430F5438多个时钟的问题

TA1CCTL0 = CCIE;  

TA1CCTL1 = CCIE;

TA1CCR0=18*400/8;//定时周期400us

TA1CCR1=18*200/8;//定时周期200us

TA1CTL = TASSEL_2 + MC_1 + TACLR+ID__8;

这几句初始化时钟,然后在#pragma vector=TIMER1_A0_VECTOR和#pragma vector=TIMER1_A1_VECTOR里处理中断服务,理想的效果是能过检测到TIMER1的CCR0和CCR1的中断周期分别是400us和200us,但是现在不论我怎么改,都只能让TIMER1的CCR0和CCR1的中断周期都400us,而且我试过不论怎么修改TA1CCR1,最终CCR1的定时周期都和CCR0周期相等,帮帮忙哦!

Jason Guo:

这是正常现象,

TA1只有一个counter(TAR),工作在MC_1模式下,TAR从0计到TA1CCRO,然后在再从0开始几道TA1CCR0.

当TAR=TA1CCR0时,产生A0中断,当TAR=TA1CCR1时,产生A1中断。

所以一个周期内A0和A1的中断都只产生一次,两者的间隔都是400uS(区别只是时间点不一样)

如果要产生200uS的中断,需要在A1的中断里面把TA1CCR1更新下,比如TA1CCR1+=200uS;

赞(0)
未经允许不得转载:TI中文支持网 » MSP430F5438多个时钟的问题
分享到: 更多 (0)