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.

[参考译文] CCS/TMS320F28377S:从一个 MCU 到另一个 MCU 的数据序列(当您发送多个数据包时)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/830625/ccs-tms320f28377s-the-sequence-of-datas-from-one-mcu-to-another-one-when-you-send-more-than-one-package

器件型号:TMS320F28377S
主题中讨论的其他器件:C2000WARE

工具/软件: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