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.

[参考译文] CCS/MSP430FR5857:晶体振荡器配置不工作

Guru**** 664280 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/786879/ccs-msp430fr5857-crystal-oscillator-configuration-not-working

器件型号:MSP430FR5857
主题中讨论的其他器件:MSP430WARE

工具/软件:Code Composer Studio

尊敬的先生/女士

我已将外部晶振配置到 HFXTIN 引脚,而 HFXOUT 为16MHz,18pf,连接的外部电容值为30pF,即 CX1和 CX2。 我在调试窗口中没有收到任何有关以下时钟配置的输出和响应。 我无法得出结论 、无论在我的配置中有什么问题、还是其他问题。 请尽快回复。

我已经根据 MSP430FRxx94器件 MSP430ware 中的示例代码 CS_04配置了时钟。


   WDTCTL = WDTPW | WDTHOLD;              //停止 WDT


   // XTAL 引脚配置
   PJSEL0 |=BIT6 | BIT7;

   //UNLOCKLOW 电源
   PM5CTL0 &=~LOCKLPM5;
   //FRAM 等待状态
   FRCTL0 |= FRCTLPW | NWAITS_1;


   //时钟系统设置
      CSCTL0_H = CSKKEY_H;//解锁 CS 寄存器
      CSCTL2 = SELs__HFXTCLK | SELM__HFXTCLK;
      CSCTL3 = DIVS_1 | DIVM__1;//设置分频器1
      CSCTL4 |= HFXTDRIVE_3| HFFREQ_2;//16MHz 晶振操作
      CSCTL4 &=~HFXTOFF;//打开晶振
     操作
     {//检查故障标志
      CSCTL5 &=~ HFXTOFFG;
      SFRIFG1 &=~ OFIFG;
      }
     while (SFRIFG1 & OFIFG);
    CSCTL0_H = 0;//锁定 CS 寄存器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Priyanshu、
    不确定您希望在调试器窗口中看到的振荡器功能。 请您更详细地解释一下这一点吗?
    在晶体振荡器的正确初始化方面、您是否在 Code Composer Studio 的 TI Resource Explorer 中查看过我们的代码示例?
    这里是32kHz 和高频模式的一个、它是"msp430fr59xx_cs_04.c"

    //
    // MSP430FR59xx 演示- ACLK = XT1 = 32768Hz、SMCLK= XT2 = 8MHz、MCLK = DCO
    //
    //说明:配置 ACLK = LFXT、SMCLK = HFXT 和 MCLK = DCO
    //注1:需要32768Hz 和8MHz 晶体!
    //
    // MSP430FR59x
    // --------
    // /|\| |
    // || |-LFXIN
    // -|RST |-LFXOUT
    // | |
    // | |-HFXIN
    // | |-HFXOUT
    // | |
    // | P1.0|--> LED
    // | P2.0|-->ACLK = 32768Hz
    // | P3.4|-->SMCLK = 8MHz
    //
    / P. Thanigai
    // Texas Instruments Inc.
    /2012年8月
    //使用 IAR Embedded Workbench V5.40和 Code Composer Studio v5.5构建
    //
    #include

    int main (空)

    WDTCTL = WDTPW | WDTHOLD;

    //配置 GPIO
    P1OUT = 0;
    P1DIR = BIT0; //表示 LED

    P2DIR |= BIT0;
    P2SEL0 |= BIT0; //输出 ACLK
    P2SEL1 |= BIT0;

    P3DIR |= BIT4;
    P3SEL0 |= BIT4; //输出 SMCLK
    P3SEL1 |= BIT4;

    PJSEL0 |= BIT4 | BIT5 | BIT6 | BIT7; //表示 XT1和 XT2

    //禁用 GPIO 上电默认高阻抗模式以激活
    //先前配置的端口设置
    PM5CTL0 &=~LOCKLPM5;

    CSCTL0_H = CSKEY >> 8; //解锁 CS 寄存器
    CSCTL1 = DCOFSEL_6; //将 DCO 设置为8MHz
    CSCTL2 = SELA_LFXTCLK | SELS__HFXTCLK | SELM_DCOCLK;
    CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; //将所有分频器设置为1
    CSCTL4 |= LFXTDRIVE_3 | HFXTDRIVE_3;
    CSCTL4 &=~(LFXTOFF | HFXTOFF);
    操作

    CSCTL5 &=~(LFXTOFFG | HFXTOFFG); //清除 XT1和 XT2故障标志
    SFRIFG1 &=~OFIFG;
    } while (SFRIFG1&OFIFG); //测试振荡器故障标志
    CSCTL0_H = 0; //锁定 CS 寄存器

    while (1){
    P1OUT ^= 0x01; //切换 LED
    _delay_cycles (8000000); //等待8,000,000个 CPU 周期




    此致
    Peter