打印
[STM32F4]

pc无法接收到STM32F407的usb的任何数据,103不识别

[复制链接]
321|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yunfu1117|  楼主 | 2025-3-12 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一次使用STM32F103的usb,生成代码并配置了usbd_custom_hid_if.c文件后下载到板子上,我的电脑无法识别USB设备。然后我换成了F407,完成同样的操作后,电脑可以识别该设备为HID设备。但“USBD_CUSTOM_HID_SendReport(&hUsbDeviceFS, sendbuffer, 2)”这个函数似乎不正常,
pc无法接收到usb的任何数据。


使用特权

评论回复
沙发
公羊子丹| | 2025-3-13 08:20 | 只看该作者
STM32F103 的 USB 需要正确的 48MHz 时钟来源,你检查过 PLL 配置了吗?内部时钟可能不稳定。

使用特权

评论回复
板凳
周半梅| | 2025-3-13 08:22 | 只看该作者
F407 识别 HID 但不能发送数据,可能是 端点未正确配置,建议检查 USBD_CUSTOM_HID_SendReport 的 Endpoint 是否正确打开。

使用特权

评论回复
地板
帛灿灿| | 2025-3-13 08:23 | 只看该作者
HID 设备发送数据前要 HOST 轮询,你在 PC 端用 HIDTool 或 Wireshark 看看 USB 数据包有没有变化?

使用特权

评论回复
5
童雨竹| | 2025-3-13 08:25 | 只看该作者
USBD_CUSTOM_HID_SendReport 发送失败有没有返回错误码?如果返回值不是 USBD_OK,可能是 USB 状态 异常。

使用特权

评论回复
6
万图| | 2025-3-13 08:26 | 只看该作者
试试 USBDevice FS 结构体的 state 是否处于 CONFIGURED 状态,不然发送数据可能无效。

使用特权

评论回复
7
Wordsworth| | 2025-3-13 08:27 | 只看该作者
你 PC 端用什么方式接收 USB 数据的?如果是 Python 或 C#,可以试试 HIDAPI 确保应用端正常工作。

使用特权

评论回复
8
Bblythe| | 2025-3-13 08:29 | 只看该作者
F103 无法识别 USB 设备,可能 DP 没有正确上拉,试试在 usb_device.c 里 MX_USB_DEVICE_Init() 之后手动拉高 DP。

使用特权

评论回复
9
Pulitzer| | 2025-3-13 08:30 | 只看该作者
F407 能识别但不能传输数据,可能 USBD_CUSTOM_HID_ReportDesc 里定义的 Report 长度和 PC 端期望的不同,试着改成 固定大小 发送。

使用特权

评论回复
10
Uriah| | 2025-3-13 08:32 | 只看该作者
你有试过用 STM32CubeMonitor 抓取 USB 通信数据吗?这样可以看到 HID 报文有没有真正发出去。

使用特权

评论回复
11
Clyde011| | 2025-3-13 08:33 | 只看该作者
HID 协议需要 PC 端主动请求数据,试试 USBD_CUSTOM_HID_ReceivePacket() 让 PC 端先发送一个数据包看看能否触发通信。

使用特权

评论回复
12
flycamelaaa| | 2025-3-21 16:00 | 只看该作者
建议更换数据线。

使用特权

评论回复
13
powerantone| | 2025-3-21 19:00 | 只看该作者
若使用外部晶振,检查PLL配置是否生成48MHz USB时钟。

使用特权

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

本版积分规则

9

主题

10

帖子

0

粉丝