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.

[参考译文] TMS320F28386D:SPI CS

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1216457/tms320f28386d-spi-cs

器件型号:TMS320F28386D
主题中讨论的其他器件: ADS7038

TMS320F28386D 使用 SPID 与 Ads7038连接。

一个问题:SPI CS 我已经将其设置为 GPIO、但 每16位发送一次、它会自动设置为高电平?

另一个问题:我正在发送0X18 0x01 0x01数据、但始终显示第一个 TX 字节是0x00?

我犯了个错误。

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

    W Z、

    另一个问题:我正在发送0X18 0x01 0x01数据,但总是显示第一个 TX 字节是0x00?

    您的 SPI 配置为 SPI 字符长度= 16位而不是8位。 如果 SPI_setConfig 选择8位字大小而不是16位。

    一个问题:SPI CS 我把它设置成了 GPIO,但是 每16位发送一次,它就自动设置成了高?

    如果您在非 FIFO 模式下进行逐字节事务处理、我建议您使用 SPI_TRANSDYTE (base、txData)  

    您可以按此方式更改代码。

    setCS (低电平);

       SPI_TRANSPYTE (SSI_BASE_ADDR, 0x18);

       SPI_TRANSPYTE (SSI_BASE_ADDR, 0x01);

       SPI_TRANSPYTE (SSI_BASE_ADDR, 0x01);

    setCS (高电平);

    此致、

    Manoj

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

    "我知道了。" 根本原因是、当 TX 0x18时、F28386的最小单元实际上是2个字节、因此0x18为0x0018。

    始终首先发送高字节。

    感谢您的建议。