打印

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

[复制链接]
584|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
聂志钧|  楼主 | 2015-9-22 23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我设想编程让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;

}
}

  
  
  

相关帖子

沙发
dirtwillfly| | 2015-9-23 08:56 | 只看该作者
mspware有用定时器来控制led闪缩的例程,先运行下例程吧

使用特权

评论回复
板凳
dirtwillfly| | 2015-9-23 08:56 | 只看该作者
CCR1=5900-1这种写法更直观

使用特权

评论回复
地板
firstblood| | 2015-9-23 21:58 | 只看该作者
这个没有啥区别的,只是给写程序的很直观的,这个实际计5900个数的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

1

粉丝