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.

[参考译文] LAUNCHXL-CC3235SF:LAUNCHXL-CC3235SF

Guru**** 2562120 points
Other Parts Discussed in Thread: CC3235SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/960180/launchxl-cc3235sf-launchxl-cc3235sf

器件型号:LAUNCHXL-CC3235SF
主题中讨论的其他器件:CC3235SF

硬件:

LAUNCHXL-CC3235SF

IDE:IAR 8.50.1

当我运行此演示 C:\ti\simplelink_cc32xx_sdk_4_20_00_07\examples\rtos\cC3235SF_LAUNCHXl\drivers\spimaster\freertos 时、我发现 Gspi 无法在 MISO 线路中接收正确的数据。

我尝试将 MOSI 和 MISO 连接在一起、以使数据从 MOSI 环路发送回 MISO。但在 MISO 线路中仍然无法接收正确的数据。

以下是我的代码:

//将 SPI 打开为主控方(默认值)*/
SPI_Params_init (&spiParams);
spiParams.frameFormat = SPI_POL0_PHA0;
spiParams.dataSize = 8;
spiParams.bitrate = 1000000;
masterSpi = SPI_open (CONFIG_SPI_MASTER、 &spiParams);
if (masterSpi == NULL){
Display_printf (display、0、0、"初始化主器件 SPI\n"时出错);
while (1);
}
else{
display_printf (display、0、0、"Master SPI initialized");
}

/*
主器件已打开 CONFIG_SPI_MASTER;将 CONFIG_SPI_MASTER_READY 设置为高电平以
*通知从器件。
*

GPIO_write( CONFIG_SPI_MASTER_READY,1 );


/*复制消息以传输缓冲器*/
strncpy ((char *) masterTxBuffer、master_MSG、SPI_MSG_LENGTH);

对于(i = 0;i < 1;i++){
/*
*等待从器件准备好传输;从器件将拉取
* CONFIG_SPI_SLAVE_READY 低电平。
*
GPIO_WRITE (CONFIG_SPI_MASTER_READY、0);
/*初始化主 SPI 事务结构*/
masterTxBuffer[0]= 0x01;
masterTxBuffer[1]= 0x02;
masterTxBuffer[2]= 0x03;
masterTxBuffer[3]= 0x04;
masterTxBuffer[4]= 0x05;
memset ((void *) masterRxBuffer、0、SPI_MSG_LENGTH);
transaction.count = SPI_MSG_length;
transaction.txBuf =(void *) masterTxBuffer;
transaction.rxBuf =(void *) masterRxBuffer;

/*切换用户 LED、指示正在进行 SPI 传输*/
// GPIO_toggle (CONFIG_GPIO_LED_1);

/*执行 SPI 传输*/
transferOK = SPI_transfer (masterSpi、事务);
if (transferOK){
GPIO_WRITE (CONFIG_SPI_MASTER_READY、1);
Display_printf (display、0、0、"Master received:[%02x]%02x %02x %02x %02x %02x %02x %02x %02x "、
I、
masterRxBuffer[0]、
masterRxBuffer[1]、
masterRxBuffer[2]、
masterRxBuffer[3]、
masterRxBuffer[4]);
}
否则{
display_printf (display、0、0、"主 SPI 传输失败");
}

/*在开始下一个 SPI 传输前睡眠一位*/
} 

如上所述、我发送5个字节0x01 0x02 0x3 0x04 0x05、我也应该接收  0x01 0x02 0x3 0x04 0x05、但我在 transaction.rxBuf 中收到0x03 0x0c 0x0F 0x30 0x1b。

但在逻辑分析仪中、数据看起来是正确的:

您能告诉我哪里出错了吗?我在这里停留了3天以上... 谢谢!

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

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

    您好!

    您使用什么器件作为从器件? 您 的 MASTER_MSG 和 SPI_MSG_LENGTH 是什么?

    此致、

    Sarah

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

    你(们)好

    我将使用 Winbond SPI 闪存(W25Q80 8Mbit)进行测试。  SPI_MSG_LENGTH 为5、 MASTER_MSG 为 0x01 0x02 0x3 0x04 0x05。

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

    您好!

    您将哪些引脚用于 SPI 配置? 您是否使用 LaunchPad 进行测试? 您有第二块 LaunchPad 吗?

    此致、

    Sarah