MSP430讨论区
返回
登录/注册
求助MSP430单片机SMCLK、MCLK、ACLK的疑惑
楼主
zhouying274 于 2011-04-01 14:36:47
求助MSP430单片机SMCLK、MCLK、ACLK的疑惑
我初学MSP430,有些概念还不是很清楚,想通过高手还帮我解答一下,谢谢了。
1 . 怎么产生SMCLK? 烦请写出C代码
2 . 怎么产生MCLK? 烦请写出C代码
3. ACLK的频率是不是单片机的XIN XOUT引脚两端接的晶振频率?
以上问题都是基于在XIN XOUT引脚两端接32.768KHz下。
需要产生SMCLK的频率为4MHz,MCLK的频率为8MHz。
回复
1楼
北夜星辰 于 2011-04-02 18:22:48
先回答你的问题3:是的。而且还可以是它的2,4,8分频。
而MCLK,如果什么都不写,那默认时钟来源是DCOCLK。如果要开高频晶振,就是XT2CLK的,示例如下:
//-------开晶振XT2---------
BCSCTL1&=~XT2OFF; //打开XT2振荡器
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标志
for (int i=256;i>0;i--); // 延时,等待XT2起振
}
while ((IFG1 & OFIFG) != 0); // 判断XT2是否起振
BCSCTL2 =SELM_2+SELS; //选择MCLK=SMCLK为XT2
//-----------------------------
注:你去查下BSCCTL2寄存器的各个标志位分别是控制什么的就知道了。它是一个8位寄存器。
7、6位控制MCLK的时钟源,3位选择SMCLK的时钟源。
回复
2楼
flinky 于 2011-04-11 10:44:16
楼主,这部分的东西很重要最好还是彻底了解了才好。推荐你一本极好的书:
MSP430系列单片机系统工程设计与实践 机工社出版的 作者:谢楷 赵建
回复
3楼
WQY900618 于 2011-04-12 14:25:11
时钟是单片机最重要的东西,使用该最下功夫的地方。
二楼设置的应该 MCLK和SMCLK的频率都为8MHz。
把最后用一句改为BCSCTL2 =SELM_2+DIVS_1+SELS;即可实现 SMCLK的频率为4MHz,MCLK的频率为8MHz。
回复
1
电脑版
Page created in 0.0625 seconds width 2 queries.