定时器定时的问题

2019-03-24 08:19发布

我想用TA定时器定时15s的时间进入中断是将引脚取反,请问这个15s定时参数应该怎么设置啊,手册没看太懂,
如果如下设置:CCR0 = 500;                                 
    TACTL = TASSEL_2 + MC_1 ;
分别是表示什么意思呢,定时器定时时间的公式是什么啊?求各路大神科普!

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
qwerghf
1楼-- · 2019-03-25 03:18
 精彩回答 2  元偷偷看……
下雨天不洗澡
2楼-- · 2019-03-25 06:52
qwerghf 发表于 2017-11-8 10:03
把完整代码发出来我给你解释

main()
{WDTCTL = WDTPW | WDTHOLD;     // Stop watchdog timer
  IO_Init();
     TA0CTL |= MC_1 + TASSEL_2 + TACLR;       //时钟为 SMCLK,比较模式,开始时清
零计数器
     TA0CCTL0 = CCIE;       //比较器中断使能
     TA0CCR0   = 100;       //比较值设为 50000,相当于 50ms 的时
间间隔
__enable_interrupt();}
#pragma vector = TIMER0_A0_VECTOR
__interrupt void Timer_A (void)

{
  i++;
  if(i==500)
  {
  P8OUT ^= BIT1;        //形成闪灯效果
  i=0;
  }
}

}

qwerghf
3楼-- · 2019-03-25 09:26
在PUC 后, MCLK 和 SMCLK 来自 1.1MHz 的 DCOCLK,TASSEL_2相当于SMCLK  =1.1MHZ,这样50000算上去差不多等于50ms
下雨天不洗澡
4楼-- · 2019-03-25 14:03
 精彩回答 2  元偷偷看……
qwerghf
5楼-- · 2019-03-25 16:29
下雨天不洗澡 发表于 2017-11-8 10:33
所以时钟源和时间间隔的公式是?

TA0CCR0/SMCLK=50000/(1.1*10^6)=50ms
下雨天不洗澡
6楼-- · 2019-03-25 21:42
qwerghf 发表于 2017-11-8 10:42
TA0CCR0/SMCLK=50000/(1.1*10^6)=50ms

3Q~~~~~~~~~~~~~

一周热门 更多>

相关问题

    相关文章