Msp430f149的时钟的基本模块含有2个或3个时钟源,低/高频时钟源LFXT1CLK、高频时钟源XT2CLK、内部数字可控时钟源DCOCLK。其中LFX1CLK范围为32768Hz,450KHz-8MHz;
XT2CLK范围为450KHz-8MHz,DCOCLK范围为128KHz-8MHz(没有实际测量,网上数据)。
我自己的板上的接法为LFXT1CLK为32768Hz,XT2CLK为8MHz。
时钟信号即实际使用中用到的时钟有3种,分别为辅助时钟ACLK,主时钟(系统时钟)MCLK,子系统时钟SMCLK。其中ACLK只能由LFXT1CLK得到,三个时钟源均可对时钟源时行1、2、4、8分频。
上电默认状况下MCLK,SMCLK信号来自DCO,ACLK来自LFXT1CLK。
上电默认状况下MCLK,SMCLK信号来自DCO,ACLK来自LFXT1CLK,所以一般在关闭看门狗之后进行时钟的配置。
DCO配置:DCOCTL高3位将DCO的频率分为8级与BCSCTL低3位保持一致。这3位为0时频率最低,为7时频率最高。
接下来的是对时钟的选择,第一步使时钟上电,第二步等待时钟起振,第三步选择时钟。
1
2
2.1
2.2
DCOCTL:DCO频率选择
BCSCTL1:ACLK分频及XT2CLK的控制
BCSCTL2:MCLK选择及分频,SMCLK选择及分频。
IFG1的位1,时钟中断标志位,用来判断有没有起振。
DCOCTL=DCO0+DCO1;
BCSCTL1=RSEL2; //配置DCO
do
{
IFG1&=~OFIFG;
Delay_nop(100);
}
while((IFG1&OFIFG)!=0); //等待XT2 起振
BCSCTL2|=SELS; //主时钟为外部高频
// P5DIR|=0x70;
// P5SEL|=0x70; //输出时钟进行观查