在线情况
楼主
  • 头像
  • 级别
    • 积分2
    • 经验99
    • 文章1
    • 注册2011-03-07
    求助MSP430单片机SMCLK、MCLK、ACLK的疑惑
    我初学MSP430,有些概念还不是很清楚,想通过高手还帮我解答一下,谢谢了。

    1 . 怎么产生SMCLK? 烦请写出C代码
    2 . 怎么产生MCLK?  烦请写出C代码
    3.  ACLK的频率是不是单片机的XIN XOUT引脚两端接的晶振频率?

        以上问题都是基于在XIN XOUT引脚两端接32.768KHz下。
        需要产生SMCLK的频率为4MHz,MCLK的频率为8MHz。
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
      • 积分30
      • 经验613
      • 文章57
      • 注册2011-01-31
      先回答你的问题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的时钟源。
      微控网感谢您的参与
      在线情况
      3
      • 头像
      • 级别
        • 积分13
        • 经验226
        • 文章11
        • 注册2011-03-30
        楼主,这部分的东西很重要最好还是彻底了解了才好。推荐你一本极好的书:
        MSP430系列单片机系统工程设计与实践 机工社出版的 作者:谢楷 赵建
        微控网感谢您的参与
        在线情况
        4
        • 头像
        • 级别
          • 积分29
          • 经验413
          • 文章25
          • 注册2011-03-17
          时钟是单片机最重要的东西,使用该最下功夫的地方。
          二楼设置的应该 MCLK和SMCLK的频率都为8MHz。
          把最后用一句改为BCSCTL2 =SELM_2+DIVS_1+SELS;即可实现 SMCLK的频率为4MHz,MCLK的频率为8MHz。
          微控网感谢您的参与
          Powered by LeadBBS 9.2 .
          Page created in 0.2500 seconds with 5 queries.