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.

[参考译文] TMS320F28069F:半双工通信的 SPI 设置是什么。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/712370/tms320f28069f-what-is-spi-setting-for-half-duplex-communication

器件型号:TMS320F28069F

尊敬的 TI 成员:

我正在开发 F28069和其他 MCU 之间的 SPI 通信。

MCU 是 SPI 主器件、F28069是 SPI 从器件并使用 Rx、Tx ISR。

在我测试时、RxISR 和 TxISR 都在任何 SPI 通信期间执行。(看起来是全双工)

处理起来相当混乱、因此我想让它成为单向通信(半双工)

例如、首先、MCU 向 F28069发送请求、然后 MCU 从 F28069接收响应

没有同时发送/接收数据。

它确保 F28069在 MCU 发送期间通过 RxISR 接收请求、  

为此,什么是初始 SPI 设置?

提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Hae、
    没有特定的设置可使从设备成为"半双工"而不是"全双工"。
    但是、您可以根据希望器件传输的时间清除或设置 TALK 位。
    如果您只想让器件监听、则可以将 TALK 位设置为0。 然后、当您准备好进行发送时、将 TALK 位设置为1。

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

    感谢您的回答。
    正如我尝试使用 TALK 位时一样、同时调用 Rx、Tx ISR。
    总之、感谢您的评论、我将进一步探讨。

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

    Hae、

    这很奇怪、TALK 位应该处理这个问题。

    如果您再仔细观察一下、仍有问题/疑虑、请随时提出。

    此致、

    Marlyn

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


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

    我在 接收数据包并清除 RxISR 中的所有 Rx 缓冲区后、调用了 SPI_resetTxFifo ()和 SPI_enableTxFifo ()、而不是使用 TALK 位。

    在 TxISR 中发送数据包结束时清除 Tx 缓冲区。

    然后、Rx、Tx 似乎正常。

    我已将 SPI 时钟设置为125kHz、然后未检测到通信错误。

    感谢您的帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Hae、
    我很高兴您能够解决您的问题。 感谢您发布您的解决方案!
    如果您需要任何其他信息、请随时咨询。

    此致、
    Marlyn