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.

[参考译文] MSP430F5529:为何MSP430F5529内部REFO (32.768kHz)倍频最高只能到5MHz

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1185258/msp430f5529-msp430f5529-refo-32-768khz-5mhz

器件型号:MSP430F5529

我用MSP430F5529的launchpad测试,MSP430F5529内部REFO (32.768kHz)倍频最高只能到5MHz。请问是代码那块实现有问题吗?谢谢!

代码如下。μ A

当UCSCTL2 = FLLD__1 | 155; 时,启动后时钟可清除错误标识成功,运行正常,测试MCLK为5MHz多一点;

当UCSCTL2 = FLLD__1 | 156;  时,启动后一直停留在while循环出不来,原因是OFIFG标识一直不能清除成功;

void clock_init (void)

 UCSCTL0 = 0;                       //配置为0即可
 UCSCTL1 = DCORSEL_2;             // DCO频率范围选择
 UCSCTL2 = FLLD__1 | 156;            // FLLD、FLLN 值设置

 UCSCTL3 = SELREF_REFOLCLK | FLLREFDIV_1;     // FLL时钟选择、FLL分频

 while (SFRIFG1 & OFIFG)//循环、直到 XT1、XT2和 DCO 稳定
 {
  UCSCTL7 &=~(XT2OFFG + XT1LFOFFG + DCOFFG);  //清除三类时钟标志位
  //这里需要清除三种标志位,因为任何一种标志位都会将OFIFG置位
  SFRIFG1 &=~OFIFG;//清除时钟错误标志位
 }

 UCSCTL4 = SELA_DCOCLK | SELM_DCOCLK | SELM_DCOCLK;// ACLK、SMCLK、MCLK 时钟源选择-DCOCLK

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

    您好!

     如果要将 DCO 配置为5MHz、则可能需要根据数据表第8.19章设置 DCORSELx = 3。

    此致、

    现金 Hao

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

    多谢,就是您说的这个原因。μ A