关于定时器比较模式编程的问题

2019-07-25 15:15发布

我设想编程让P1.0口的小灯由CCR1比较器产生的中断导致闪烁,但是好像这个程序无法进入中断,请问大家这是为什么,还有就是CCR1=5900-1这种写法和CCR1=5899有什么区别呢?我是初学者,看到网上两种写法都有比较疑惑。
请大家不吝赐教,这里先行谢过了,。
//要完成的功能是利用定时器A的CCR1比较产生中断使P1.0小灯亮起

#include "msp430g2553.h"
void main()
{
  WDTCTL = WDTPW + WDTHOLD ;
  P1DIR=0xFF;
   P1OUT=0X00;
     TACTL=TACLR+TASSEL_2+MC_2;
CCTL1 =  CCIE;
     CCR1=5900-1;

  while(1);
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer(void)
{
  switch(TAIV)
  {
case 2:
  P1OUT^=0X00;
  CCR1+=5900-1;
   break;
case 4:
  break;
case 10:
  break;

}
}

  
  
  

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
dirtwillfly
1楼-- · 2019-07-25 17:02
mspware有用定时器来控制led闪缩的例程,先运行下例程吧
dirtwillfly
2楼-- · 2019-07-25 18:30
CCR1=5900-1这种写法更直观
firstblood
3楼-- · 2019-07-25 23:57
这个没有啥区别的,只是给写程序的很直观的,这个实际计5900个数的

一周热门 更多>