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.

[参考译文] RM57L843:MIBSPI4 20字节数据接收问题

Guru**** 2539500 points
Other Parts Discussed in Thread: RM57L843, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/953451/rm57l843-mibspi4-20-bytes-data-reception-issue

器件型号:RM57L843
主题中讨论的其他器件: HALCOGEN

大家好、

我正在尝试在 RM57L843 (主设备)和 ADSP BF609 (从设备)之间建立 SPI 通信。

我想从从器件接收20字节数据。 我已将波特率设置为5000KHz、并在 Halcogen 的 Transfer group 0中将长度配置为20。

因此、在接收时、我能够正确接收8个字节、但在8个字节后、第8个字节的数据以剩余字节的形式被覆盖。

我在这里附加了已接收数据的快照。

我无法确定我的错误所在。 请建议合适的解决方案。  

以下是我的代码:

#define D_COUNT 20

uint16 TX_DATA1[D_COUNT]={0x11、0x22、0x33、0x44、0x55、0x66、0x77、0x88、0x99、0xAA、\
0x01、0x02、0x03、0x04、0x05、0x06、0x07、0x08、0x09、0x0A};

uint16 Rx_data1[D_count]={0};

uint8 TX_FLAG = 0;
uint8 Rx_FLAG = 0;

//用户代码结束*

/ int main (void)
{
/*用户代码开始* 3
mibspiInit();

mibspiSetData (mibspiREG4、0、&TX_data1[0]);

mibspiTransfer (mibspiREG4、0);

while (mibspiIsTransferComplete (mibspiREG4、0)= false);

mibspiGetData (mibspiREG4、0、&Rx_data1[0]);

while (1);
/*用户代码结束*/

返回0;
}

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

    您好、Aditya、

    您是否探测过 SOMI 总线? SOMI 总线上的数据(第9~19字节)是否与 RX RAM 中存储的数据不同?

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

    您好、Wang、

    我将探测 SOMI 总线并返回给您。

    谢谢你。

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

    您好、Wang、  

    我探测了 SOMI 总线。  

    我将在第8个字节后接收相同的数据。 所以问题不在接待处

    我认为这是从器件侧的传输问题。

    此致、

    Aditya Natu

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

    因此、您在 RM57Lx 器件上运行的代码没有问题。

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

    是的。 我的代码没有问题。

    问题在从器件侧、我已经解决了。

    谢谢、

    -Aditya