TI中文支持网
TI专业的中文技术问题搜集分享网站

430定时器时钟源选择问题

我用的是msp430 launchpad  (套件里面的低频晶振没有焊上)  的部分程序是

TACCR0 = 20;
TACTL = TASSEL_1+TACLR;
TACCTL0 = CCIE;
TACTL |= MC_1;
_EINT();

我在这选的是TASSEL_1 是AC LK,  但是我的低频晶振并没有啊,,那么这样的话它是自动切换成SMCLK嘛? 还是其他什么啊,,就解答,谢谢

yffy:

不会自动切换的。

user3587240:

回复 yffy:

你好,,不会自动切换的话,,那么此时定时器的时钟源来自哪里,内部DCO 是无法提供ACLK的                        注:程序仿真实验了没问题

user3587240:

回复 yffy:

你好,,不会自动切换的话,,那么此时定时器的时钟源来自哪里,内部DCO 是无法提供ACLK的                        注:程序仿真实验了没问题

yffy:

回复 user3587240:

让端口延时反转看看频率,焊接上32768晶振再看看。

user3587240:

回复 yffy:

的确仿真时有时LED 闪烁的非常快,有时手一靠近,LED又变化了,,感觉频率不是很稳定,我还不是很清楚没有低频晶振时,他的时钟源来自哪里?还有为什么频率不那么稳定,求解,,谢谢。下面是我的源代码(在CCS中),

#include <MSP430G2553.h>unsigned int i=0,a,flag=0;int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer P1DIR = 0XFF; P1OUT = 0X00; TACCR0 = 20; TACTL = TASSEL_1+TACLR; TACCTL0 = CCIE; TACTL |= MC_1; _EINT(); //P2OUT |= BIT6; while(1);} #pragma vector=TIMER0_A0_VECTOR__interrupt void Timer_A(void){ i=i+1; if(i==3)

{ flag=flag+1; i=0; P1OUT^=BIT6; } if(flag==15) {flag=0;

P1OUT^=BIT0; }}

user3587240:

user3587240:

回复 yffy:

老师,你好,,我查到资料 看到了  VLO 时钟,,它是最慢的时钟,,可以提供ACLK,但我还是不太明白没有焊上32768的时候,手接触或靠近,,LED闪烁频率变化是什么原因,求解答,,谢谢

Fuchong Wang:

回复 user3587240:

又是这个问题

也没人给个标准答案

就是能够自动切换到VLO么?

fengtao zhao:

回复 Lina Lian:

如果刚开始DCO是默认的32768HZ,外部晶振是16MHZ,外部晶振如果意外停止的话,用DCO的时候,由于频率不一致导致依赖ACLK和SMCLK的定时器就会出现问题,如果刚开始将DCO设置为16M,外部晶振也为16M,那样即使外部晶振意外停止工作,切换成DCO 的时候也不会导致定时器出错。不知道我说的是不是这个道理? 谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 430定时器时钟源选择问题
分享到: 更多 (0)