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/RM48L952:有关 SPI 功能的混淆

Guru**** 2439710 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/626493/ccs-rm48l952-confusion-regarding-spi-functions

器件型号:RM48L952

工具/软件:Code Composer Studio

您好!

我目前正在处理一个 CCS 项目、该项目通过线缆连接 SPI 端口1和2、并使用这两个端口进行通信。 但是、我对 SPI_Master_Slave 示例代码中使用的某些函数感到困惑。 我对以下两个函数有疑问:(1) spiSendAndGetData()和(2) spiTransmitAndReceiveData()。 示例代码将 spiSendAndGetData()用于 SPI1,将 spiTransmitAndReceiveData()用于 SPI2。 在主代码中、我有:

那么、让我们看看 spiSendAndGetData。 我最初对该函数的理解是、它获取 TX_Data_Slave 中的数据并通过 SPI 将其发送到 RX_Data_Slave 中、但当我运行调试时、缓冲区最终看起来是这样的:

我的直觉告诉我这是正确的、因为从长远来看、我希望从器件的数据传输到主器件。 这些函数使我认为来自 TX_Data_Master 的数据应该已经传输到 RX_Data_Master、这意味着 TX_Data_Master 和 RX_Data_Master 数组应该包含相同的值、而不是我当前拥有的值。 这是不正确的吗? 或者、代码是否按预期运行、我是否只是误解了代码功能的重要内容?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    代码按预期运行。 在示例中、SPI2是从器件。 从器件将 TX_Data_Slave 中的数据发送到主器件。 SPI2从主器件接收的数据存储在 RX_Data_Slave 中。 主器件发送的数据由从器件接收、同时主器件接收从器件发送的数据。