msp430f149学习之系统时钟的设置
扫描二维码
随时随地手机看文章
一、概述
MSP430F149有三个时钟源:外部LF(XT1一般为32.768K),HF(XT2一般为8M),内部DCO。从时钟系统模块可得到三种时钟信号:MCLK,SMCLK,ACLK。
上电默认状况下MCLK,SMCLK信号来自DCO,ACLK来自LF。根据官方PDF说法默认状况下DCO模块配置为RSELX=4,DCO=3,因此DCO应为1M,但示波器实测MCLK/SMCLK为680K,测试温度约25摄氏度。
标注:MCLK主时钟、SMCLK子时钟、ACLK活动时钟。
二、举例
void Init_CLK(void)
{
unsigned int qq;
WDTCTL= WDTPW + WDTHOLD ; // 关看门狗
BCSCTL1 &= ~XT2OFF; //打开XT2高速晶体振荡器
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标志
for(qq=0xff;qq>0;qq--); //延时,等待XT2起振
}
while((IFG1&OFIFG)); //判断XT2是否起振
BCSCTL2 |= SELM_2; //MCLK=XT2
//BCSCTL2 |= DIVM_0; //控制MCLK不分频,默认
BCSCTL2 |= SELS; //SMCLK=XT2
//BCSCTL2 |= DIVS_0; //控制SMCLK不分频,默认
}
三、解析
1、选择系统时钟为XT2,即为外部8M的时钟晶振输入;
2、设置MCLK、SMCLK为8M;