共2条
1/1 1 跳转至页
CCTL2 求助:我这样设置CCTL2怎么不能完成捕获

问
在P1.3加方波。怎么也进入不了中断,不知道为什么,请大家帮忙,谢谢
main()
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
IFG1=0;
IFG2=0;
_DINT(); //disable interrupt
_BIC_SR(OSCOFF); //clear the bit OSCOFF
BCSCTL1 &= ~XT2OFF; //disable LFXT2;[p82]
BCSCTL1 |= RSEL1+RSEL0+XTS; //mode;
BCSCTL1 &= ~RSEL2; //DCO=0.47MHz(011);
delay(10000);
IFG1 &= ~OFIFG; //osc effective;[p17]
BCSCTL2 |= SELM1+SELM0; //select LFXT1CLK for MCLK;
P1IES|=0x0FE;
//init_ta0
TACTL=TASSEL0+ID_2+TACLR;
CCTL1 =0x4910; //0100 1001 0001 0000
CCTL2 = 0x4910;
P1DIR = 0x01; // P1.0
_EINT();
while(1)
{;}
}
interrupt[TIMERA1_VECTOR] void TIMERA1ISR (void)
{
switch( TAIV )
{
case 2: break; /* CCR1 */
case 4:
P1OUT ^= 0x01;
break; /* CCR2 */
case 6: break; /* CCR3 */
case 8: break; /* CCR4 */
case 10: /* Timer_A3 overflow */
P1OUT ^= 0x01;
break;
default:
break;
}
} 答 1: 计数器没打开
TACTL|=MC1;
main()
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
IFG1=0;
IFG2=0;
_DINT(); //disable interrupt
_BIC_SR(OSCOFF); //clear the bit OSCOFF
BCSCTL1 &= ~XT2OFF; //disable LFXT2;[p82]
BCSCTL1 |= RSEL1+RSEL0+XTS; //mode;
BCSCTL1 &= ~RSEL2; //DCO=0.47MHz(011);
delay(10000);
IFG1 &= ~OFIFG; //osc effective;[p17]
BCSCTL2 |= SELM1+SELM0; //select LFXT1CLK for MCLK;
P1IES|=0x0FE;
//init_ta0
TACTL=TASSEL0+ID_2+TACLR;
CCTL1 =0x4910; //0100 1001 0001 0000
CCTL2 = 0x4910;
P1DIR = 0x01; // P1.0
_EINT();
while(1)
{;}
}
interrupt[TIMERA1_VECTOR] void TIMERA1ISR (void)
{
switch( TAIV )
{
case 2: break; /* CCR1 */
case 4:
P1OUT ^= 0x01;
break; /* CCR2 */
case 6: break; /* CCR3 */
case 8: break; /* CCR4 */
case 10: /* Timer_A3 overflow */
P1OUT ^= 0x01;
break;
default:
break;
}
} 答 1: 计数器没打开
TACTL|=MC1;
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
硬核工程师专属补给计划——填盲盒 | |
“我踩过的那些坑”主题活动——第002期 | |
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! |