Timer_A捕获源问题求教

2019-03-24 09:55发布

430的捕获源选择有两种,CCIS_A ,CCIS_B,在F149的书中我看介绍的是A是内部源,B是外部源。但是在F5529的书本中并没有做详细的区分,只有一句话“捕获输入CCIxA和CCIxB可连接外部引脚或内部信号,这需要通过CCIS控制位进行配置”,在捕获/比较控制寄存器中CCIS位默认的是CCIxA。

在我使用捕获模式的过程中,书上有一个例程:



  P1DIR|=BIT0;                                          

  P1SEL|=BIT0;                                         P1.0选择ACLK输出;

  P2DIR&=~BIT0;

  P2SEL|=BIT0;                                          P2.0与P1.0相连,配置为定时器捕获输入;

  TA1CTL=TASSEL_2+MC_2+TACLR;                       TA1主时钟SMCLK,连续计数模式,清除TAR;

  TA1CCTL1=CM0+SCS+CAP+CCIE;                          CCR1工作于捕获模式,同步捕获,上升沿触发,中断使能;

  _ _BIS_SR_register(LPM0_bits+GIE);

中断程序我就不写了,因为进不去中断。用示波器检测发现P1.0有正确的ACLK输出,默认的ACLK是XT1CLK,32kHz;计数时钟选择的是SMCLK=DCOCLKDIV;

然后对比另一个我自己写的程序:


P2DIR =BIT2;

P2SEL |=BIT2;

P2SEL |=BIT3;



UCSCTL4 = UCSCTL4&(~(SELS_7|SELA_7))|SELS_1|SELA_3;

TA2CTL=TASSEL_1+MC_2;

TA2CCTL0=CM_1+CCIS_0+SCS+CAP+CCIE;

_BIS_SR(LPM0_bits+GIE);

这个程序中,我将P2.2输出SMCLK=VLOCLK,P2.3设置为CCI0A捕获源;计数时钟选择ACLK=DCOCLK;在这种配置下,TA2能正确捕获SMCLK=VLOCLK。





这两个程序时钟配置本身应该是不会影响捕获的,只是区别在于P1与P2的输出。因此我在疑惑,是否是CCIS捕获源导致的无法捕获,进不去中断?请教一下大家。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
huaiqiao
2019-03-24 12:08
< 您好,看到您的问题,下载user's guide。大致的看了下,我觉得您还是主要集中注意力,在如下的这个地方,而且呢,各个寄存器的配置部分您也要留意下呢。如果涉及到具体的语句的问题,我们再讨论哈。
也可参考郭天祥的视频部分和TI提供的一些示例。

10.jpg



一周热门 更多>

相关问题

    相关文章