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.

[参考译文] RTOS/CC3200:CC3200 SPI 传输数据大小

Guru**** 2562120 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/584463/rtos-cc3200-cc3200-spi-transfer-data-size

器件型号:CC3200

工具/软件:TI-RTOS

当我使用超过128BYTES 的数据时、TI RTOS 不会进入 LPDS (低功耗深度睡眠)、代码进入挂起状态。

我添加 了1K 字节的 OSI 堆栈大小、但没有影响。我不会觉得有什么问题。

我希望最多使用 1024字节。

代码如下所示。

   MAP_PRCMPeripheralReset (PRCM_GSPI);

   //
   //重置 SPI
   //
   MAP_SPIReset (GSPI_base);

   //
   //配置 SPI 接口
   //

   MAP_SPIConfigSetExpClk (GSPI_base、MAP_PRCMPeripheralClockGet (PRCM_GSPI)、
                        SPI_IF_bit_rate、SPI_MODE_MASTER、SPI_SUB_MODE_0、 //多项性0、相位0
                        (SPI_HW_CTRL_CS |///不多路复用输出 CS 引脚,而是多路复用输出所需的 GPIO SPI_SW_CTRL_CS
                        SPI_4PIN_MODE |
                        SPI_Turbo_off |
                        SPI_CS_ACTIVELOW |
                        SPI_WL_8));


   //
   //启用 SPI 进行通信
   //
   MAP_SPIEnable (GSPI_BASE);
   //
   //启用 CS。 在这一点之后、您将看到 CS 变为低电平
   //
   //MAP_SPICSEnable (GSPI_BASE);
   EPD_CS_LOW;


 MAP_SPITransfer (GSPI_base、(uint8_t *) pDat、g_ucRxBuff、128、0); ->可以进入 LPDS。

MAP_SPITransfer (GSPI_base、(uint8_t *) pDat、g_ucRxBuff、1024、0);-> 进入挂起。

   //
   //禁用 CS。 CS 线路将变为非活动状态(高电平)
   //
   //MAP_SPICSDisable (GSPI_BASE);
   EPD_CS_HIGH;

   MAP_SPIDisable (GSPI_BASE);

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

    我相信这是一个重复的问题。 请按照以下其他主题进行讨论: e2e.ti.com/.../584487

    如果这不是你的问题、请告诉我。

    此致、
    Sarah