在论坛上看到的代码:void main(void){WDTCTL = WDTPW + WDTHOLD; // 禁止看门狗P1DIR |= 0x01; // P1.0 设置为输出方向CCTL0 = CCIE; // CCR0 中断使能CCR0 = 50000;TACTL = TASSEL_2 + MC_2; // TA外设时钟计数模式_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt 进入LPM0中断模式}// 定时器中断服务程序#pragma vector=TIMERA0_VECTOR__interrupt void Timer_A (void){P1OUT ^= 0x01; // P1.0翻转// CCR0增加计数(根据实际这句话去掉也可以)}那个最后一句的CCR0 += 50000;是怎么回事啊,CCR0不是一般不用变的么,而且最大值不是65535吗?50000+50000都侧漏了啊啊啊!初学求指点。。。
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 禁止看门狗
P1DIR |= 0x01; // P1.0 设置为输出方向
CCTL0 = CCIE; // CCR0 中断使能
CCR0 = 50000;
TACTL = TASSEL_2 + MC_2; // TA外设时钟计数模式
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt 进入LPM0中断模式
}
// 定时器中断服务程序
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= 0x01; // P1.0翻转
CCR0 += 50000;// CCR0增加计数(根据实际这句话去掉也可以)
}
http://bbs.eeworld.com.cn/viewth ... p;page=1#pid1257726
一周热门 更多>