[STM32F4] STM32F417中如何检测 USB 主机是否接入

[复制链接]
155|31
FranklinUNK 发表于 2026-8-17 20:19 | 显示全部楼层
检查USBD_CDC_HandleTypeDef的gState,如果为HOST_DEV_ATTACHED,则表示已接入。若要直接跳过发送函数,可检查gState或使用VBUS检测电路。
xinpian101 发表于 2026-8-19 21:48 | 显示全部楼层
USB 主机接入后,USB 插座 VBUS 会出现 +5V;STM32 通过 VBUS 感知(VBUS Sensing)判断是否有主机接入,之后 D + 上拉 1.5k 电阻完成 USB 枚举握手
ShimmeringDawn 发表于 2026-8-20 13:01 | 显示全部楼层
查一下OTG_FS_GAHBCFG寄存器的OTG_FS_VBUS_VLD位,这个位会反映VBUS的状态,如果为高电平则表示USB主机已接入。
fengm 发表于 2026-8-20 13:46 | 显示全部楼层
部分开发板上的 ESD 保护芯片配合肖特基二极管,可能会在拔下 USB 线后导致 VBUS 引脚电压无法迅速拉低,从而引发“假连接”状态。此时需要检查硬件电路设计。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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