[求助] 定时器A的关闭求教

hghkci   2014-11-19 21:50 楼主
在timerA 的运行中怎样关闭timerA呢,,该用什么样的控制语句呢?

回复评论 (8)

在运行中关闭?
这个问题有点意思撸主确定是这个需求么?
So TM what......?
点赞  2014-11-19 22:47
就是想学习下如何关闭timerA,从而以后灵活的写程序。。。比如用定时器实现灯闪,然后计时一段时间后关闭timerA,,这时这句关闭timerA话该如何写。。。下面是简单描述下我的测试程序
//之前的一些设置这里省略了
while(1)
{
       if(flag==1) {
          flag=0;
          delay(300);//延时一段时间,有助于观察现象
          //打开timerA
}
//下面是定时器中断函数体
{
    i++;
   P6OUT ^= BIT1;//控制灯闪
   if(i==300)//假设为延时5s
  {
     i=0;
     flag=1;
     //关闭timerA
  }
}
点赞  2014-11-19 23:08
引用: ljj3166 发表于 2014-11-19 22:47
在运行中关闭?
这个问题有点意思撸主确定是这个需求么?

就是想学习下如何关闭timerA,从而以后灵活的写程序。。。比如用定时器实现灯闪,然后计时一段时间后关闭timerA,,这时这句关闭timerA话该如何写。。。下面是简单描述下我的测试程序
//之前的一些设置这里省略了
while(1)
{
       if(flag==1) {
          flag=0;
          delay(300);//延时一段时间,有助于观察现象
          //打开timerA
}
//下面是定时器中断函数体
{
    i++;
   P6OUT ^= BIT1;//控制灯闪
   if(i==300)//假设为延时5s
  {
     i=0;
     flag=1;
     //关闭timerA
  }
}

点赞  2014-11-19 23:09
把定时器的全能位清除就可以了,430的定时器A的通过模式选择来开启和停止的,具体的去看芯片手册
点赞  2014-11-20 00:19
用TACTL寄存器的MC位设置成STOP模式
点赞  2014-11-20 08:24
引用: a2656693 发表于 2014-11-20 08:24
用TACTL寄存器的MC位设置成STOP模式

书上这样写:Timer_A 暂停模式停后计数器将从暂停时的值开始以暂停前的方向计数,而TACTL中的CLR位用来清除定时器的方向记忆特性,
这里的CLR能清除TAR中的值么?也就是能让定时器从0开始计时吗?
点赞  2014-11-20 21:08
TACTL中的CLR会复位TIMERA, 复位后所有寄存器都会恢复到复位值, TAR的值会被清零
点赞  2014-11-21 10:53
引用: Triton.zhang 发表于 2014-11-21 10:53
TACTL中的CLR会复位TIMERA, 复位后所有寄存器都会恢复到复位值, TAR的值会被清零

你的意思也就是说如果想再次启用timerA 就必须给它所有寄存器重新初始化???
点赞  2014-11-21 12:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复