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.

[参考译文] MSP430FR5969-SP:CAN't 将16MHz HFXT 映射到 MCLK、其分频系数为1

Guru**** 2538960 points
Other Parts Discussed in Thread: MSP430FR5969

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1000420/msp430fr5969-sp-can-t-map-16-mhz-hfxt-to-mclk-with-division-factor-of-1

器件型号:MSP430FR5969-SP
主题中讨论的其他器件:MSP430FR5969

我将 MSP430 DriverLib 用于 MSP430FR5xx_6xx 器件、我的 LaunchPad/MSP430FR5969电路板上的 HFTX 上连接了16.0000MHz 振荡器。
我使用以下行初始化时钟源:

cs_setExternalClockSource (32768、16000000);

当我使用这些行中的任何一条将 HFXT 除以16或除以2时,CS_TurnOnHFXTWithTimeout()返回“成功”,并且我的程序按预期的时间运行:
CS_initClockSignal (CS_MCLK、CS_HFXTCLK_select、CS_Clock_divider 16);
CS_initClockSignal (CS_MCLK、CS_HFXTCLK_select、CS_Clock_divider);

IF (CS_TurnOnHFXTWithTimeout (CS_HFXT_DRIVE_8MHZ_16MHz、100000) EQ STATUS_FAIL)
  printf ("CS_TurnOnHFXTWithTimeout 失败\r\n);  //点 A
其他
  printf ("CS_TurnOnHFXTWithTimeout 成功\r\n);

但是、当我使用下面的行将 HFXT 除以1时、电路板会锁定。 上面 A 点的 printf 不会被执行。
CS_initClockSignal (CS_MCLK、CS_HFXTCLK_select、CS_Clock_divider);

我需要 MCLK 为16MHz。 您能告诉我为什么我很难将 HFXT 除以1 (1)?

感谢你的帮助!

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

    您好!

    由于 MCLK 的频率高于8MHz、因此您需要为 FRAM 访问添加等待状态。 请参阅 数据表中的建议运行条件表。

    //Set wait state to 1
    FRAMCtl_configureWaitStateControl(FRAMCTL_ACCESS_TIME_CYCLES_1);

    (编辑)