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/TM4C1294KCPDT:USBDCDCPacketWrite 未提供 USB_EVENT_TX_COMPLETE。

Guru**** 2610575 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/764836/ccs-tm4c1294kcpdt-usbdcdcpacketwrite-is-not-giving-the-usb_event_tx_complete

器件型号:TM4C1294KCPDT

工具/软件:Code Composer Studio

我获取了提供的 USB 串行器件示例应用、并更改了以下内容。

在  tUSBDCDCDevice 中、cbTxHandler 和 cbRxHandler 被替换为回调。

2.  用于回调数据的带有 NULL 的 rxBuffer 和 txBuffer 缓冲区。

USBBufferSpaceAvailable with USBDCDCTxPacketAvailable 和 USBBufferWrite with USBDCDCPacketWrite。

在这种情况  下、我们不会通过 cbTxHandler 获取 USB_EVENT_TX_COMPLETE 事件。

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

    我不明白为什么你甚至试图从这种修改开始。 USBDCDCTxPacketAvailable 和 USBDCDCPacketWrite 已用作 USB Tx 缓冲器的一部分。 然后、这些数据通过 USBBufferWrite 和 USBBufferSpaceAvailable API 传递到 USB 堆栈。

    您的更改对我来说毫无意义、它不起作用也不会让我感到意外。

    您能解释一下您要实现的目标吗? 也许我可以帮助解释为什么 USB 库是按照它的方式设置的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Ralph Jacobi、

    首先、感谢您的回复。

    昨天、我们浏览了 Web 中可用的库代码、并看到只有在执行缓冲区 API 时才会执行回调

    我们的思维过程有所不同、认为我们只能使用 USBDCDC 调用来实现此功能、而无需缓冲器 API 的帮助。

    是否可以仅使用 USBDCDC API 来实现该功能? 希望这个答案是否定的

    您能否解释一下我们为什么需要这2层(缓冲层和 CDC 层)?

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

    USB 堆栈旨在支持多个器件类别。 CDC、批量等 为了实现这一点、堆栈被设置为运行标准 API、并且具有一个单一 USB 缓冲器来覆盖所有不同类别、以节省复杂性和内存空间(特别是 RAM)。

    USB_serial_structs.c (或其等效结构)中定义的结构在 CDC 特定函数和通用 USB 库之间提供链接。 这允许 usblib.h 中的通用 API、例如 USBBufferWrite 和 USBBufferSpaceAvailable 可用于所有类型的 USB 器件类、 因为最终、当为诸如 USBBufferWrite 的 API 提供诸如 USBDCDCPacketWrite 的 CDC TX 缓冲区结构时、诸如针对 CDC 的特定调用将被 USB 库使用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Ralph Jacobi、

    感谢您分享详细信息。 这会有所帮助。