首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msp430串口和定时器中断

msp430串口和定时器中断
EN

Stack Overflow用户
提问于 2014-12-01 02:50:01
回答 1查看 910关注 0票数 2

我有msp430系列的单片机(实际上是在launchpad板上的msp430g2553 )。我已经编写了uart驱动程序,它可以工作。但是在我添加了定时器驱动之后,我发现了一些问题: uart在第一次定时器中断后停止工作。我需要在定时器中断处理程序中恢复一些标志吗?

代码语言:javascript
复制
interrupt(TIMER0_A0_VECTOR) enablenested timer0_isr() {
    P1OUT ^= BIT6;
}

void timer_init(void) {
    int i;
    TACTL = TASSEL_2 + ID_3 + MC_1 + TAIE;
    TA0CCR0 = 0xffff;
    TACCTL0 = CM_0 + CCIE;
}
EN

回答 1

Stack Overflow用户

发布于 2014-12-13 03:01:59

由于您只需从0到0xFFFF计数,因此您实际上不需要处于“向上模式”(MC_1),即您对寄存器TA0CCR0中的值进行计数,您可以处于“连续模式”(MC_2),它会自动从0计数到0xFFFF,并且如果我没记错的话,将不再需要任何TA0CCRX寄存器。

否则,您应该养成在设置任何值之前说TACTL = TACLR;(这将清除此寄存器)的习惯,这可能会有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27216860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档