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.

[参考译文] CC3220SF-LAUNCHXL:SPI 芯片选择

Guru**** 2589300 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/853677/cc3220sf-launchxl-spi-chip-select

器件型号:CC3220SF-LAUNCHXL

您好!

我需要通过 SPI 为24个字节的数据计时(未来的应用可能会有更多数据)、而无需在每个字节之间增加芯片选择。 目前、我看到(在示波器上)每个字节之间的芯片选择变为高电平。 如何更改?

 以下是我的电流参数:

SPI_Params SPI_params =

transferMode = SPI_MODE_BLOCKING、/* transferMode *
transferTimeout = SPI_WAIT_FOREVY、// transferTimeout */
.transferCallbackFxn =空、// transferCallbackFxn */
.mode = SPI_MASTER、/*模式*/
bitrate = 1000000、/* bitrate */
.dataSize = 8、/* dataSize */
frameFormat = SPI_POL0_PHA0、//帧格式*/
.custom= NULL /* custom*/
};

下面是我如何调用 SPI 传输函数:

/*打开 SPI1 */
masterSpi = SPI_open (Board_SPI_master、&SPI_params);

transaction.count = buffer_size_in_bytes; //24
transaction.txBuf = SPI_TX_buff;
transaction.rxBuf = SPI_Rx_buff;

/*执行 SPI 传输*/
transferOK = SPI_transfer (masterSpi、事务);

/*关闭 SPI1模块*/
SPI_CLOSE (masterSpi);

谢谢、

Kevin

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

    Kevin、

    您是否尝试将数据大小从8更改为24?

    .dataSize = 24、/* dataSize */

    此致、
    Vince

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

    尊敬的 Vince:

    感谢您的回复。

    我尝试过(将数据大小更改为24、将 transfer.count 更改为1)、SPI 通信的行为变得非常奇怪。 不幸的是、我认为这不起作用。 你有其他想法吗?

    谢谢、

    Kevin

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

    Kevin、

    请查看 TRM - http://www.ti.com/lit/ug/swru465/swru465.pdf 中的第247页第8.2.3.3.1节

    您应该能够将数据大小配置为8、然后在将 SPIEN 重新置为有效之前一次发送3个字。

    此致、

    Vince