|
同步捕获模式和异步捕获模式有什么区别吗?
另外我尝试用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
|
|