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.

[参考译文] 两个工作模式开关具有2种不同的时钟设置、SPI 通信不稳定

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/691187/two-work-mode-switch-with-2-different-clock-setting-and-spi-communication-is-not-stable

主题中讨论的其他器件:MSP430FR5959

各位专家、您好!

 在我的项目中、我在2个工作模式下使用了 MSP430FR5959,和2个不同的时钟'设置。

对于高频模式、我将时钟配置如下:

void sysclock_Init (void)

PJSEL0 |= BIT6 | BIT7;//用于 XT2

CSCTL0_H = CSKEY >> 8;//解锁 CS 寄存器
CSCTL2 = SELA_VLOCLK | SELS__HFXTCLK | SELM_HFXTCLK;//SELM__HFXTCLK
CSCTL3 = DIVA__1 | DIV__8 | DIVM__32;//将所有分频器设置为1
CSCTL4 |= HFXTDRIVE_0 | HFFREQ_1;//
CSCTL4 &=~(HFXTOFF);
操作

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

对于低频工作模式、我将时钟配置为:

void sysclock_LowPowerMode( void )

CSCTL0_H = CSKEY >> 8;//解锁 CS 寄存器
CSCTL2 = SELA_VLOCLK | SELESS__LFMODCLK | SELM_LFMODCLK;// SELM__HFXTCLK
// CSCTL2 = SELA_VLOCLK | SELESS_VLOCLK | SELM_VLOCLK;
CSCTL3 = DIVA__1 | DIVM_1 | DIVM__1;//将所有分频器设置为1
CSCTL4 |= HFXTOFF;
CSCTL0_H = 0;//锁定 CS 寄存器

当器件在低频模式下工作时、MCU 将从 SPI 传感器读取数据、但数据不稳定。 但我不将时钟更改为低频模式、MCU 在高频模式下工作、通过 SPI 读取数据、数据正常。

请帮助我检查、当 MCU 在低频模式下工作时、SPI 读数为何不稳定?

非常感谢!

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

    SPI 时钟源是什么?

    此致、