这段代码什么意思 ,单片机高手进来吧
voidfunc_msp430_clock_init(void)//MCLK8M,ACLK=8M,SMCLK=2M{BCSCTL3=0x20;//BCSCTL1=XT2O...
void func_msp430_clock_init(void)//MCLK8M,ACLK=8M,SMCLK=2M
{
BCSCTL3 = 0x20;//
BCSCTL1 = XT2OFF + XTS; //XT2 is off,ACLK = LFXT1CLK = HF XTAL,打开高频8mhz
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标识
for (int i = 0x70; i > 0; i--); // 延时,等待振荡器起振,4cycle,wait for 50us
}
while ((IFG1 & OFIFG) != 0); // 判断振荡器是否起振
DCOCTL = 0X60; // DCO =3;
BCSCTL2 = 0xCC; 展开
{
BCSCTL3 = 0x20;//
BCSCTL1 = XT2OFF + XTS; //XT2 is off,ACLK = LFXT1CLK = HF XTAL,打开高频8mhz
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标识
for (int i = 0x70; i > 0; i--); // 延时,等待振荡器起振,4cycle,wait for 50us
}
while ((IFG1 & OFIFG) != 0); // 判断振荡器是否起振
DCOCTL = 0X60; // DCO =3;
BCSCTL2 = 0xCC; 展开
2个回答
展开全部
430有内部时钟,就是不外接晶振也可以工作,这个是对内部时钟的一些设置,具体可以参考user manual,如果你对时钟没有特别的需求的话,直接用它提供的初始化函数初始化一下就行了,不用管它什么意思。430现在好像有中文的说明手册了吧,以前我在学校的时候,还都是全英文的,现在你们幸福了~~
更多追问追答
追问
我看手册了 只明白了大致意思 但是整体练习起来就不明白了 为什么先设置 BCSCTL3 还有DCO=3设置的是多少频率呢 你大概给我讲讲呗
追答
BCSCTL3:Basic clock system control 3
XT2OFF: 控制XT2振荡器的开启(XT2OFF=0)与关闭(XT2OFF=1)。正常情况下把XT2OFF复位就可以了。
XTS:选择LFXT1工作在低频晶体模式(XTS=0)还是高频晶体模式(XTS=1)。
DCOCTL,DCO控制寄存器,地址为56H,初始值为60H
DCO2 DCO1 DCO0 MOD4 MOD3 MOD2 MOD1 MOD0
DCO0~DCO2: DCO Select Bit,定义了8种频率之一而频率由注入直流发生器的电流定义。 MOD0~MOD4: Modulation Bit,频率的微调。
good luck~~man~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询