打印
[应用相关]

USBX在F407上创建CDC不能正常使用

[复制链接]
472|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2024-7-18 09:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AC, vi, dc, CD, USB
我使用CubeMX创建了一个ThreadX+USBX的一个程序框架,然后移植了ST在F469上的DEVIEC_CDC_ACM的例程,但是USB无法正常枚举。用逻辑分析仪抓了一下,在GET_Descriptor后并没有正确的发送VID,PID一类的信息,而是不停的发送如图所示的东西。这是漏配置了哪里么?


使用特权

评论回复
沙发
4c1l| | 2024-7-27 11:22 | 只看该作者
描述符配置不正确或缺失,USB主机将无法正确识别你的设备。

使用特权

评论回复
板凳
4c1l| | 2024-7-27 11:23 | 只看该作者
确保在 STM32CubeMX 中的 USB 配置部分已经正确配置了 USB 设备。特别是 USB 配置中的 VID(供应商 ID)、PID(产品 ID)、设备描述符等信息是否设置正确。

使用特权

评论回复
地板
一秒落纱| | 2024-8-24 19:51 | 只看该作者
在使用CubeMX创建ThreadX+USBX的程序框架并移植ST的DEVICE_CDC_ACM例程时,如果USB无法正常枚举,并且在GET_Descriptor请求后没有正确发送VID(Vendor ID)和PID(Product ID)等信息,可能是描述符配置错误了

使用特权

评论回复
5
光辉梦境| | 2024-8-24 21:00 | 只看该作者
确保USB描述符(如设备描述符、配置描述符、字符串描述符等)正确配置,并且VIDPID等信息正确无误。

使用特权

评论回复
6
三生万物| | 2024-8-24 22:00 | 只看该作者
一般来说,需要USB外设的时钟配置正确,USB外设通常需要48MHz的时钟频率。

使用特权

评论回复
7
暖了夏天蓝了海| | 2024-8-24 23:00 | 只看该作者
检查USB引脚(如DPDM)是否正确配置,并且没有硬件冲突。

使用特权

评论回复
8
江河千里| | 2024-8-25 01:00 | 只看该作者
可以看看USB中断是否正确配置,并且中断处理程序能够正确响应USB事件。

使用特权

评论回复
9
别乱了阵脚| | 2024-8-25 02:00 | 只看该作者
检查使用的USB库或驱动是否与ThreadXUSBX兼容,并且正确初始化和配置。

使用特权

评论回复
10
冰春彩落下| | 2024-8-25 07:00 | 只看该作者
建议USB设备有足够的电源供应,并且没有进入低功耗模式。

使用特权

评论回复
11
淡漠安然| | 2024-8-25 08:00 | 只看该作者
固件版本问题也会这样,确保使用的固件库版本与硬件和操作系统兼容。

使用特权

评论回复
12
远山寻你| | 2024-8-25 09:00 | 只看该作者
使用调试工具(如ST-Link调试器)单步执行代码,观察USB初始化和描述符发送的流程。

使用特权

评论回复
13
夜阑风雨| | 2024-8-25 10:00 | 只看该作者
检查USB外设的时钟配置,确保时钟频率为48MHz。检查USB引脚的配置,确保没有硬件冲突。检查USB中断配置,确保中断处理程序能够正确响应USB事件。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

547

主题

2349

帖子

4

粉丝