打印
[MSP430]

有关定时器定时的问题

[复制链接]
1454|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
学习msp|  楼主 | 2013-9-23 19:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 学习msp 于 2013-9-23 19:09 编辑

我用的是MSP430AFE253单片机,外接8M晶振,本来是利用定时器A定时1秒,但是程序执行下来将近50秒,求高人指点

#include "msp430afe253.h"
unsigned int i=0;
void TimerA_Init(void);
void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  BCSCTL1 = XT2OFF;  //选择外部晶振
  BCSCTL2=SELM_2;    // MCLOK的时钟源为外部晶振     
  P1DIR=0x01;
  P1OUT=0x01;
  TimerA_Init();
  _EINT();        //开总中断     
  while(1);
}
void TimerA_Init(void)
{
TACTL = TASSEL_2  + TACLR ; //MCLK=8MHz ,清除tar
CCTL0 = CCIE+SELM_3; //开定时器中断
CCR0 = 40000;   // (1/8000000)*40000 =5 ms ??
TACTL |= MC0; //增计数   
}
#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A(void)
{
  i++;
    if(i>100)
    {
      i=0;
      if(P1OUT&BIT0)
        P1OUT&=~(BIT0);
      else
        P1OUT|=BIT0;
    }
}
在线等》》》》

相关帖子

沙发
学习msp|  楼主 | 2013-9-23 19:17 | 只看该作者

使用特权

评论回复
板凳
NE5532| | 2013-9-23 19:49 | 只看该作者
1.检查你的时钟源是否正确,很多单片机有时钟输出功能,可以输出来用示波器看。
2.检查你的分频比是否争取。
3.检查你的Timer设置是否正确,向上计数,向下计数分清了没有。

使用特权

评论回复
地板
ayb_ice| | 2013-9-24 07:52 | 只看该作者
这种基本问题还是看手册较好

使用特权

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

本版积分规则

10

主题

32

帖子

0

粉丝