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.
工具/软件:Code Composer Studio
您好!
我在两个 F28377S 之间使用 SPI 通信。 当 我仅发送一个16位数据包时,没有任何问题。
但我将16位、4封装从一个 MCU 发送到另一个 MCU、如下所示:
for (Sdata_buff = 0;Sdata_buff <4;Sdata_buff ++)
{
SpiaRegs.SPITXBUF = sdata[Sdata_bux];
}
并从另一个读取、如下所示:
for (RDATA_buff = 0;RDATA_buff <4;RDATA_buff +)
{
RDATA[RDATA_缓冲 器]=SpiaRegs.SPIRXBUF;
}
因此、我从"SPI_loopback_interrupts_CPU1"示例中获取了这一点。
但我的问题是该数据的顺序。例如、数据由 MCU 1发送为:
sdata[0]= 10;
sdata[1]=11;
sdata[2]=12;
sdata[3]=13;
第二个读为 AS
RDATA[0]= 13;
RDATA[1]=11;
RDATA[2]=12;
RDATA[3]=10;
或
RDATA[0]= 11;
RDATA[1]=10;
RDATA[2]=12;
RDATA[3]=13;
或
(笑声)
我是说读取序列与发送序列不同...
我应该如何将数据作为正确的序列?
感谢你的帮助。
您好!
您是否正在使用 FIFO? 您是否在 ISR 中读取 RXDATA?
此致、
Veena
您好!
是的、我正在使用 FIFO、我正在 ISR 中读取它。
您好!
您是否尝试探测 SPI 线路? 您是否看到数据按正确的顺序发送?
您是否还更新了示例中使用的 FIFO 大小?
此致、
Veena
我已经探测并看到数据、但没有检查它们的顺序。
"更新 FIFO 大小"是什么意思?"在哪里?
您好!
如需更多信息、请参阅 C2000ware 中提供的 SPI FIFO 示例。
此致、
Veena