作业帮 > 综合 > 作业

关于MSP430定时器A,懂的进

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/06/02 22:37:15
关于MSP430定时器A,懂的进
TAIE与CCIE;
如果我要同时用到CCR0的比较模式,又要用到定时器的连续计数模式,会不会冲突?
因为我想在循环外打开CCR0,比如我需要1S钟的循环.
而在循环里面,我需要用到连续计数,就是循环里面还有条件,当满足某个条件时,打开定时器.
可能很混乱.
CCTL0 = CCIE; //在TIMER0中断里,x++,就是1秒,我需要如果在1S内,P1.3按下,
//则定时器能给我2S的时间做其他的事
while(x
问题好多:
TACTL_bit.MC0、TACTL_bit.MC1控制计数模式
#define MC_0 (0*0x10u) /* Timer A mode control:0 - Stop */
这个才是控制定时器计数的;而CCIE和TAIE等都是中断使能;
打开CCIE(比较模式),计数到CCR0时置位CCIFG,进入中断TIMERA0_VECTOR
而打开TAIE,当定时器溢出时置位TAIFG,进入中断TIMERA1_VECTOR
建议多看看用户手册
再问: 可能是我看错了,是不是在连续计数模式下面,就算是设置了CCR0,计数器计数到CCR0后也不会将CCIFG置一?
再答: 连续计数模式下,无论CCR0设置为多少,计数到CCR0时就会置位CCIFG,开中断的话,就跳转中断程序执行