msp430定时器中断的问题

voidmain(void){WDTCTL=WDTPW+WDTHOLD;//StopWDTP1DIR|=0x01;//P1.0outputTBCCTL0=CCIE;//C... void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
TBCCTL0 = CCIE; // CCR0 interrupt enabled
TBCCR0 = 50000;
TBCTL = TBSSEL_2 + MC_2; // SMCLK, contmode

_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}

// Timer B0 interrupt service routine
#pragma vector=TIMERB0_VECTOR
__interrupt void Timer_B (void)
{
P1OUT ^= 0x01; // Toggle P1.0
TBCCR0 += 50000; // Add Offset to CCR0
}
--------------------------------------------
请问一下各位大神,这个例子是连续模式的定时器B,这里每次TAR运行到TBCCR0后,都会产生中断,那么TAR溢出是不是也有中断的?这个中断怎么表示?TIMERB1?
展开
 我来答
fqtb16
2012-06-13 · TA获得超过218个赞
知道答主
回答量:134
采纳率:100%
帮助的人:74.4万
展开全部
你说的对的,这个是有溢出中断,但你的初始化程序要稍微调整下:
TBCTL = TBSSEL_2 + MC_2+TBIE;;
打开溢出中断,默认值是0;
然后再写段中断程序,例如:
#pragma vector=TIMERB1_VECTOR
__interrupt void Timer_B_1(void)
{
switch( TBIV )
{
case 2: break;
case 4: break;
case 14: P1OUT ^= 0x01;
break;
}
这个时候就能同时进入两个中断程序了。
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式