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.

[参考译文] TMS570LC4357:串行通信

Guru**** 2392635 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1351959/tms570lc4357-serial-communication

器件型号:TMS570LC4357

您好!

我尝试使用 UART 进行数据接收和发送。 以前的数据接收设计就像加载几个字节一次并传输到接收缓冲区中。

我正在使用 sciReceive (sciBASE-t * sci、uint32 length、uint8 * data)函数进行数据接收。 在调试中、我发现它会导致接收缓冲区中的数据丢失。

因此、我更改了设计、在接收数据帧时逐个字节加载数据。 它仍然显示无法按正确顺序将数据保存到缓冲区的问题。 缓冲区中间显示的发送数据的最后一个字节。

有什么想法吗? 或者有解决问题的建议吗?

谢谢!

此致

格洛丽

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

    尊敬的 Gloria:

    我正在使用 sciReceive (sciBASE-t *sci、uint32 length、uint8 * data)函数进行数据接收。 在调试中,我发现它会导致接收缓冲区中的数据丢失。

    我的接收器怀疑数据丢失,我们不应该在 sciReceive 的调试窗口中设置任何断点,也不应该在 sciReceive 函数中进行任何暂停或逐步调试。 如果我们执行以上任一操作、则会发生接收缓冲区溢出错误并导致数据丢失。

    因此、不要尝试在调试模式下执行上述任何操作。 您可以在接收所有字节后暂停调试、然后验证接收缓冲区是否接收到所有传输的消息。

    Unknown 说:
    因此、我更改了设计、以便在接收数据帧时逐个字节加载数据。 它仍然显示无法按正确顺序将数据保存到缓冲区的问题。 像发送数据的最后一个字节一样,显示在缓冲区中间。

    这不应该逐字节发生。 您能否分享您的整个项目以供验证?

    --
    谢谢。此致、
    Jagadish。