







MSP430的Basic Clock Module+支持的时钟源有:
MSP430的Basic Clock Module+包含了三个时钟信号:
典型的时钟系统框图如下图:

留意只有DCO和VLO是所有MSP430的标配,其他的要看具体型号:

调整DCO频率可以通过修改BCSCTL1寄存器中的RESELx位段、DCOCTL寄存器的DCOx、MODx位段来实现。如,若要设置DCO频率为1MHz左右,通过查数据手册中“DCO Frequency”表可得0.8MHz~1.5MHz频率对应设置参数为(7,3),即RSELx=7, DCOx=3, MODx=0。但这样做误差很大。
BCSCTL1 &= ~BIT3; // set to DCO(7,3) BCSCTL1 |= BIT0 + BIT1 + BIT2; DCOCTL &= ~BIT7; DCOCTL |= BIT5 + BIT6;
更好的方法是直接将BCSCTL1和DCOCTL寄存器设置成已校准好的值。
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
这样做的频率误差如下图所示。

ACLK时钟来源由BCSCTL3寄存器中的LFXT1Sx位段设置,可以切换为LFXT1、VLOCLK或外部时钟源;由BCSCTL1寄存器中的DIVAx位段设置分频比。当设置为LFXT1时,还需要根据板子情况设置effective capacitance。
如设置ACLK来源为VLOCLK、四分频:
BCSCTL3 |= LFXT1S_2; //VLO mode BCSCTL1 |= DIVA_2; //ACLK divided by 4
设置ACLK来源为LFXT1、八分频:
BCSCTL3 |= LFXT1S_0; //32k crystal selected BCSCTL3 |= XCAP_2; //~8.5pF effective capacitance (for G2553) BCSCTL1 |= DIVA_3; //ACLK divided by 8
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。