有关TIMER_A同步捕获和异步捕获的区别

2019-03-24 13:52发布

同步捕获模式和异步捕获模式有什么区别吗?
另外我尝试用P5.4口输出以DCO为源的MCLK,然后在用P1.3作为捕获端捕获,发现上升沿捕获、下降沿捕获,和上升/下降沿捕获,三种得出来的结果都是一样的,并且跟DCO设定的频率少1个数量级,这是为什么呢?
下面是关键部分的代码:
时钟:
BCSCTL1 &=~XT2OFF;                 //打开XT振荡器
BCSCTL2|=SELM_1+SELS;              //MCLK为DCO,SMCLK为8MHZ
捕获:
TACCTL2=CM1+CCIS_0+CAP+SCS; //捕获模式,捕获下降沿,捕获P1.3输入
  TACTL=TASSEL_2+MC_2+TACLR; //定时器时钟源为SMCLK,启动连续计数,清TAR
  TACCTL2 &=~CCIFG; //清CCR2 的标志位
  while(!(CCIFG&TACCTL2)); //查CCR2 标志位
  first_value=TACCR2; //第一个捕获值存入first_value
  TACCTL2 &=~CCIFG; //清CCR2 的标志位
  while(!(CCIFG&TACCTL2)); //查CCR2 标志位
  second_value=TACCR2; //第二个捕获值存入second_value
  TACCTL2 &=~CCIFG; //清CCR2 的标志位
  TACCTL2 &=~MC1; //关定时器A 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
luowhu
1楼-- · 2019-03-24 19:34
< 异步捕获一般在输入信号周期远大于时钟周期时采用,异步捕获可能发生竞争现象,这里可能是dco太快了捕获寄存器的值出错了。

一周热门 更多>

相关问题

    相关文章