智能车制作

标题: 求大神解决问题 [打印本页]

作者: xiao☆驴?    时间: 2013-2-27 12:44
标题: 求大神解决问题
# include <msp430x14x.h>

void main ()
{
  WDTCTL = WDTPW + WDTHOLD ;//stop watchdogtimer
  P6DIR |= BIT2 ; P6OUT |= BIT2 ; //关闭电平中断
  _EINT () ; //开全局中断
  TACCTL0 = CCIE ; //定时器A中断使能
  TACCR0 = 2074 ; //定时间隔为0.5秒
  TACTL = TASSEL_1 + ID_3 + MC_1 ; //定时器A选择ACLK为时钟源,增计数模式,8分频
  P2DIR |= BIT3 ;//第四个灯闪烁
  P2OUT |= BIT3 ;
}
# pragma vector = TIMERA0_VECTOR
__interrupt void timer_a (void)
{
  P2OUT ^= BIT3 ;
// TACCTL = TACCTL1 & 0XFFFE ;//清除中断标志位
}

定时器A0不需要软件清除中断标志位吗?
为什么对程序做如下改变:
TACCTL0 = CCIE ;换成 TACCTL = CCIE;
# pragma vector = TIMERA0_VECTOR换成# pragma vector = TIMERA1_VECTOR
在中断中必要加上:
TACCTL = TACCTL1 & 0XFFFE ;//清除中断标志位   这句话才能成功进入中断啊!!!!

作者: 火龙小道    时间: 2013-8-6 20:23
main最后应该让单片机进入低功耗模式等待啊,否则就一直循main函数,还有为啥要这样写呢// TACCTL = TACCTL1 & 0XFFFE ;//清除中断标志位




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2