[STM32H5] LAT1343 STM32H5 USBD Classic驱动 CDC移植

[复制链接]
1502|14
 楼主| jcky001 发表于 2024-5-28 11:47 | 显示全部楼层 |阅读模式
细心的用户可能会发现,使用到我们的 STM32CubeMX 6.9.1 对 STM32H5 的USB 外设进行配置的时候,只能用 USBX,而以前的 Classic USB 库不能选择了。 由于 USBx 是基于 Threadx OS 的,客户更多的希望是裸机版本的,所以在这儿给大家提供一个移植的方法。

LAT1343_STM32H5_USBD_Classic驱动_CDC移植_v1.0.pdf

1.13 MB, 下载次数: 11

nqty 发表于 2024-7-23 12:23 | 显示全部楼层
这种移植方法多发点,哈哈,非常有意义的啊
hight1light 发表于 2024-7-23 13:28 | 显示全部楼层
确保你有一个STM32H5系列的开发板。安装并配置好STM32CubeMX和STM32CubeIDE。确保你有最新的STM32CubeH5固件包
ewyu 发表于 2024-7-23 14:33 | 显示全部楼层
一般用cubemx配置好就可以的吧
wamed 发表于 2024-7-23 15:34 | 显示全部楼层
打开STM32CubeMX,选择你的STM32H5系列芯片。配置时钟树,确保USB时钟(通常是48MHz)正确配置。在“Pinout & Configuration”选项卡中,找到USB_OTG_FS或USB_OTG_HS(根据你的芯片型号),并启用它。在“Middleware”部分,选择“USB_DEVICE”并配置为“CDC”模式。
miltk 发表于 2024-7-23 17:02 | 显示全部楼层
在usbd_conf.c文件中,确保USB配置正确,包括端点(Endpoint)配置和DMA配置(如果需要)
teaccch 发表于 2024-7-23 18:10 | 显示全部楼层
在usbd_cdc_if.c文件中,实现CDC接口的回调函数,如CDC_Init_FS、CDC_DeInit_FS、CDC_Control_FS、CDC_Receive_FS等在处理数据接收和发送时,注意缓冲区大小和数据长度,避免溢出
yuliangren 发表于 2024-7-23 19:42 | 显示全部楼层
一般需要在main.c文件中,初始化USB设备,并在主循环中处理CDC数据接收和发送
nuan11nuan 发表于 2024-7-24 12:00 | 显示全部楼层
其实在CDC_Receive_FS回调函数中,处理接收到的数据实现数据发送函数,如CDC_Transmit_FS,用于发送数据到主机
gra22ce 发表于 2024-7-24 13:06 | 显示全部楼层
确保USB时钟配置正确,否则USB设备可能无法正常工作
twinkhahale 发表于 2024-7-24 14:25 | 显示全部楼层
在配置端点时,确保端点大小和数量符合CDC规范

kqh11a 发表于 2024-7-29 14:26 | 显示全部楼层
如果您使用的是 CDC 类,可以在任务中实现数据的发送和接收逻辑。
发给她更好fh 发表于 2024-7-31 23:19 | 显示全部楼层
编译您的项目,并通过调试器进行测试。确保 USB 功能正常工作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1650

主题

5706

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部