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.

[参考译文] RM46L830:以快速速率发送时 USB CDC 接收不工作

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1055548/rm46l830-usb-cdc-receive-not-working-when-sending-at-a-fast-rate

器件型号:RM46L830

我正在使用 Hercules CDC 类 、并且能够在串行总线上毫无问题地发送消息。 我还可以在不发送任何消息时接收消息。 我正在检测到数据已被接收、并已准备好通过调用 USBBufferDataAvailable 进行处理。 当我发送消息时、以10Hz 的速率每条消息~20字节、我不再接收任何消息。

我在 Linux 上使用 Wireshark、可以检测总线上传入的 USB 数据包。  

似乎有很多 RX 数据包与实际"串行"数据的批量传输无关。 在给定这些其他中断的情况下、我不确定如何调试 是否调用了"串行"中断。  

此驱动器是否不支持全双工处理? 它们似乎是两个缓冲器和两个不同的中断源、所以我不明白它们为什么会发生碰撞。  

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

    您好、Michael、

    我不熟悉此 CDC 演示。 我将检查我们是否可以从 SW 团队获得。

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

    事实证明、问题不在 HAL 中、而是在我对传入串行数据使用的解析器中。 谢谢!