This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

430系列 ACLK可以用作主时钟吗?

Other Parts Discussed in Thread: MSP430G2553

芯片MSP430G2553的ACLK可以作为主系统时钟吗?

测试过:把系统时钟设置为ACLK,不分频,将IO口P1.0高低变换。测得频率为DCO频率,XT1OF失效标志置位。

但是用户指南里写了主时钟可以从LFXT1CLK输入。所以很疑惑。。。

  •  你好,如图:

    2系列的时钟系统,红色圈出来的是时钟源

    绿色圈出来的是MSP430的系统时钟,ACLK MCLK 和 SMCLK

    具体见2系列的User‘s Guide

    如果把MCLK设为LFXT1的话,需要在寄存器里设置

  •  你好,刚上电,外部时钟可能还没有稳定,所以系统自动切换到内部时钟了。

    下图取自user’s guide , 供参考:

  • 可以到VLOCLK,应该,你把代码贴出来看看.

  • 你好,按您说的试过了,重复第二步至第四步是这样写吗?

    while(IFG1 & OFIFG)
    {
    IFG1 &= ~OFIFG; // Clear OSCFault flag
    for (i = 10; i > 0; i--);
    }
    BCSCTL2 |= SELM_3; // MCLK = LFXT1

  • 接的是外部信号发生器信号。频率48K 

    但是示波器测得P1.0的频率为DCO频率,并且LFXT1OF一直置位

    不知道程序哪里有错,求指导~~~~谢谢!

  •  你好,目测是你外部时钟的问题。

    我做了一个实验,用的是外部32.768K的晶振,

    设置ACLK=LFXT1=32.768K

    MCLK = LFXT1=32.768K

    SMCLK = DCO = 1.04M

    程序如下:

    #include <msp430.h>

    unsigned char i;

    int main(void)

    {

      WDTCTL = WDTPW +WDTHOLD;// Stop Watchdog Timer

      while(IFG1 & OFIFG)

      {

      IFG1 &= ~OFIFG; // Clear OSCFault flag

      for (i = 10; i > 0; i--);

      }

      BCSCTL2 |= SELM_3; // MCLK = LFXT1

      P1DIR |= 0x13; // P1.0,1 and P1.4 outputs

      P1SEL |= 0x11; // P1.0,4 ACLK, SMCLK output

      while(1)

      {

        P1OUT |= 0x02; // P1.1 = 1

        P1OUT &= ~0x02;// P1.1 = 0

      }

    }

    效果如下:

    ACLK  P1.0

    MCLK/10  P1.1

    SMCLK  P1.4

    所得得频率有点偏差,是我示波器的问题。

  • 您真是太好了!不论最后可不可以解决问题,我都被你的精神感动了~~~~

    上面您的这个程序的效果我这也可以实现 

    现在的问题是:不用外部晶振,而是在XIN脚接函数发生器进来的频率,不论是32768还是48000Hz都会失效,测得频率为106.560KHz  变成了内部DCO

    用外部的频率,程序是不是应该加这句?:BCSCTL3 |= LFXT1S_3 + XCAP_0;

    帮人帮到底,您可以用函数发生器输入试试

  • 还有一个问题,用外部晶振32768 和 用函数发生器输入32768Hz 应该没什么区别吧?

  • 顺便说一下,我碰到这个问题的背景是 现在正在做一个TI的比赛题目,涉及到了串口通讯,子机芯片只能用2553,要跟上位机通讯,所以要用标准波特率的晶振,根据你上午贴的那张数据手册的图片,就选择了48K晶振,但是可能程序存在一些问题,实际效果调不出来。

  • 我把上面你贴出来的程序下到了两块2553的板子上,上面接的晶振分别是32.768KHz  48KHz

    用示波器测32768的板子得到的波形跟你测的一样  

    测48K晶振的板子 1.0  1.4 为低电平   1.1为高电平 频率都小于20Hz

  •  你好,如图

    我的理解是,外接晶振只能是32.768K。

    另外,串口通信需要标准波特率,32.768k晶振就非常标准啊,为什么非得是48k?建议看以下G2553串口相关的范例代码,下图为不同频率下,波特率设置和误差图,在user‘s guide里可以找到,供参考: