[求助] TimerB有两个中断向量,如何设置才能进入TimerB的第二个中断向量呢?

helloxieyu   2015-4-9 20:51 楼主
int main( void ) { WDTCTL = WDTPW +WDTHOLD; BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; P1REN|=BIT1; P1DIR|=BIT1; //中断设置,估计这里有问题,TimerB有两个中断向量,如何设置才能进入TimerB的第二个中断向量呢? BCSCTL2 = DIVS0; //SMCLK除2 TB0CCR1 =62395;//常温接近1秒 TB0CTL=TBSSEL1+MC0+ TBCLR+ID0+ID1; //用DCO时钟,Up mode,时钟除8 TBCCTL1 |=CCIE; //开启CCR1中断 _EINT(); //使能中断,开始工作...... while(1) { OneSecondDo(); _BIS_SR(LPM1_bits+GIE);//进入LPM1 } return 0; } #pragma vector = TIMERB1_VECTOR __interrupt void Timer_B1_ISR(void) //TimerB的第二个中断向量,以前都是用TIMERB0_VECTOR用TB0CCR0没有问题的, { //现在想试试如何才能进入第二个中断向量 __bic_SR_register_on_exit(LPM1_bits); //唤醒MCU } void OneSecondDo() { P1OUT=(~P1OUT); } 本帖最后由 helloxieyu 于 2015-4-10 10:01 编辑

回复评论 (3)

看手册,你会找到答案。
点赞  2015-4-9 21:28
我就是看了手册还搞不定才进来请教大大们的。
点赞  2015-4-9 22:31
看MSP430F2274的手册才发现有TimerA及TimerB两个定时器,而且每个定时器都有两个中断向量,即一共有有4个中断向量,大家用的时候默认都习惯进入每个定时器的第一个中断向量,很少看到有利用到第二个中断向量的,那么,如何设置才能利用第二个中断向量呢?我的代码就那么几句,也不复杂啊,大大们能看出哪里出错吗?两天了,一直没能试验成功啊!
点赞  2015-4-10 10:10
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复