gfy200866 发表于 2013-6-21 14:21:43

430149定时器设置问题

430149用定时器同步捕获外部方波信号,CCI1A为信号源。应该如何设置TACTL;CCTL1;
TACTL = TASSEL_2+TACLR+TAIE+MC1+ID_3;
CCTL1=CM_1+SCS+CAP+CCIE;//+CCIS_0;   
这样对吗?

gfy200866 发表于 2013-6-21 14:23:09

另外我该怎么进行系统时钟初始化,下面的方式对吗?
void Clock_Init()
{
uchar i;
BCSCTL1 &=~XT2OFF;               //打开XT2振荡器
BCSCTL2 |=SELM_2+SELS; // MCLK;SMCLK时钟源为XT2CLK 均为8MHZ;
do
{
    IFG1 &=~OFIFG;                   //清楚振荡器错误标志
    for(i=0;i<100;i++)
      _NOP();
}
while((IFG1&OFIFG)!=0);         //如果标志位1,则继续循环等待
IFG1 &=~OFIFG;
}

gfy200866 发表于 2013-6-21 14:25:50

如果我想把时钟源都该为ACLK;那么上面的三项语句又该怎么改动?
这个地方有没有什么比较详细的介绍资料可以看看
这里让我突然迷惑了。。。{:funk:}

gfy200866 发表于 2013-6-21 14:29:56

还有一个很弱的问题:定时器设置为上升沿同步捕获模式后,(并且清零);
定时器是什么时间开始捕获的呢,是在上升沿到来之后吗?
如果是,那么上升沿之前定时器的值TAR(或者CCR1)应该一直都是0咯。{:huffy:}

gfy200866 发表于 2013-6-22 10:06:57

该帖已经解决。经实验验证1楼的设置是正确的{:lol:}

gfy200866 发表于 2013-6-22 10:08:32

还有个疑问就是。定时器溢出按说应该是65535的。但是实际效果却不是,这是为什么呢?{:shocked:}

gfy200866 发表于 2013-6-28 08:46:51

定时器在连续增计数模式下,溢出值是65535。这个现在可以确定了。当时是程序没处理好{:lol:}
页: [1]
查看完整版本: 430149定时器设置问题