打印

MSP430F149 TIMER_A选择TACLK计数外部脉冲程序问题

[复制链接]
2931|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
continuelink|  楼主 | 2013-7-21 11:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在有一个外部脉冲源,需要记录一定时间内的脉冲个数。我选择的方式是将它接到TIMER_A的TACLK,然后选择TACLK时钟源,清除TAR,延时一段时间再去读TAR内的数值,应该就是这段时间内的脉冲个数了。但是程序写的有些问题,用信号发生器调的时候,发现无论频率给多大,TAR内的数值都是固定不变的。下面是我的程序。

int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  
  CLK_Init();    //选择系统时钟函数,选择MCLK为8M,SMCLK为1M

  P1SEL |= BIT0;              //TCS端口初始化  P1.0口选择为TACLK
  
  TACTL |= TASSEL_0 + MC_1;     //TIMER_A选择TACLK模式
TACCR0 = 65535;
  for(;;)
  {
      TACTL |= TACLR + MC_1;
      Delay(100);      //延时函数
      c[0] = TAR;      //c[0]是定义的一个数组
  }
  
  return 0;
}

相关帖子

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

本版积分规则

2

主题

3

帖子

0

粉丝