1.问题发生的背景
细心的用户可能会发现,使用到我们最新的 STM32CubeMX 6.9.1 对 STM32H5 的USB 外设进行配置的时候,只能用 USBX,而以前的 Classic USB 库不能选择了。由于 USBx 是基于 Threadx OS 的,客户更多的希望是裸机版本的,所以在这儿给大家提供一个移植的方法。
2.问题的分析
虽然在 STM32CubeMX 6.9.1 上不能使用经典的 Classic USB 驱动了,但是实际上在github 上,仍能发现一些可用的资源供参考:
GitHub - STMicroelectronics/stm32h5-classic-coremw-apps: Provide a set ofapplications for STM32H5xx series based on the STM32 Classic Core Middlewarelibraries
GitHub - STMicroelectronics/stm32u5-classic-coremw-apps: Provide a set ofapplications for STM32U5xx series based on the STM32 Classic Core Middlewarelibraries.
下载这两个链接,发现 H5 例程里面仅仅有 Classic USB driver 的 HID 例程,并没有CDC 的,但这对于我们想要移植来说,已经足够了。
3.Classic USBD CDC 驱动的移植
4.验证 USBD CDC 通信
简单的验证 64 个字节之内的发送与接收,修改函数。
当然,这儿仅仅是一个简单的移植,验证 CDC 通信,对于实际的项目中的通信逻辑,发送包长,可以对照之前的 Classic USBD CDC 例程自行根据需要添加修改即可!