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.

[参考译文] MSP-EXP432P4111:SPI 配置

Guru**** 2579465 points
Other Parts Discussed in Thread: DAC161S997

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/733448/msp-exp432p4111-spi-configuration

器件型号:MSP-EXP432P4111

您好!

我有一个为 MSP430和 DAC161S997编写的 SPI 配置代码。 但我正在尝试在 MSP-exp432p4111上使用它。 我想问题是 UCB0BR0寄存器。 我发现的寄存器(BRW)有不同的用途。

MSP430代码

UCB0CTL1 |= UCSWRST; //启用 SW 复位
UCB0CTL0 |=(UCMST + UCMSB + UCSYNC + UCCKPH); // SPI 主设备,3线,同步模式
UCB0CTL1 |= UCSSEL_2; //SMCLK
UCB0BR0 = 8; // SMCLK/8 = SCLK (1MHz)
UCB0BR1 = 0;
UCB0CTL1 &=~Ω UCSWRST; //清除 SW 复位,恢复操作 

我生成的代码

EUSCI_B0->CTLW0 |= EUSCI_B_CTLW0_SWRST; //启用 SW 复位
EUSCI_B0->CTLW0 |=(EUSCI_B_CTLW0_MST + EUSCI_B_CTLW0_MSB + EUSCI_B_CTLW0_SYNC + EUSCI_B_CTLW0_CKPH + EUSCI_B_CTLW0_UCSSEL_2); // SPI 主设备,3线,同步模式
EUSCI_B_CMSIS (EUSCI_B0_BASE)->BRW = 48000000 / 1000000;
EUSCI_B0->CTLW0 &&~EUSCI_B_CTLW0_SWRST; //清除 SW 复位,恢复操作 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它们是相同的寄存器。 BR0/1提供/要求分段访问。 第一个代码片段将0x0008分配给 BRW。

    最近的 MSP430显式定义 BRW (有效*(无符号*)&UCB0BR0)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    其他需要考虑的是您在系统中使用的 Vcore 设置以及可提供给 eUSCI 的最大允许 SMCLK。  

    您可能还需要与现有示例进行比较。

    此致、

    Chris