CCR0值的问题!!

2019-03-24 14:27发布

在论坛上看到的代码:

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都侧漏了啊啊啊!

初学求指点。。。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
sywcxx
1楼-- · 2019-03-24 19:11
 精彩回答 2  元偷偷看……
pz_cloud
2楼-- · 2019-03-24 20:42
< :TI_MSP430_内容页_SA7 --> 代码贴错了,如下:

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增加计数(根据实际这句话去掉也可以)
}






shower.xu
3楼-- · 2019-03-24 23:22

一周热门 更多>

相关问题

    相关文章