[STM32F4] 未检测到HSE导致USB DFU不工作

[复制链接]
323|52
fengm 发表于 2026-8-4 20:59 | 显示全部楼层
USB 供电时是否影响 Bootloader 检测?
i1mcu 发表于 2026-8-6 10:01 | 显示全部楼层
UART 对时钟精度容忍度较高,即使切换到 HSI,只要波特率误差在允许范围内,通信依然可以建立。
uytyu 发表于 2026-8-6 19:26 | 显示全部楼层
如果软件和硬件调整均无效,在成本允许的情况下,可以考虑更换为 STM32F446 等对 HSE 检测更宽松的型号
sdlls 发表于 2026-8-8 09:26 | 显示全部楼层
BOOT0引脚稳定拉高              
macpherson 发表于 2026-8-8 12:00 | 显示全部楼层
STM32F401 的 USB DFU Bootloader 在启动后需要一定时间来完成时钟配置、USB 初始化和枚举准备。如果主机在设备尚未准备好时就发送复位或频繁查询,可能导致枚举失败。
qiufengsd 发表于 2026-8-8 17:17 | 显示全部楼层

DFU 模式下是否禁用了 USB 中断?
lzmm 发表于 2026-8-8 20:40 | 显示全部楼层
应用程序 USB 正常,是因为应用代码拥有充足延时等待晶振起振,而内置 Bootloader 自检窗口极短、容错极低。
sanfuzi 发表于 2026-8-8 21:45 | 显示全部楼层
通过内部 HSI 振荡器动态测量外部 HSE 的实际频率,以此配置 PLL 生成 USB 所需的 48MHz 时钟。
小灵通2018 发表于 2026-8-9 16:18 | 显示全部楼层
Bootloader 上电会自动检测 HSE 振荡状态,超时未识别 HSE 时,会关闭 USB 外设、触发系统复位,直接中断 DFU 枚举流程
AutoMotor 发表于 2026-9-12 16:19 | 显示全部楼层
HSI做系统时钟可能会影响USB时钟精度,需谨慎使用。
mikewalpole 发表于 2026-8-10 13:31 | 显示全部楼层
双供电上电时序、USB 插入瞬间电源扰动,叠加晶振起振时序不匹配,自检反复失败
IntelCore 发表于 2026-9-15 18:49 | 显示全部楼层
测试晶振上电波形,了解USB和外部供电下HSE起振差异。
明日视界 发表于 2026-9-21 14:08 | 显示全部楼层
如果时钟设置有问题,可以改用HSI作为系统时钟,但这样会牺牲USB时钟的精度。
digit0 发表于 2026-9-23 13:29 | 显示全部楼层
HSE检测要严苛,以确保稳定启动。
elsaflower 发表于 2026-8-12 18:04 | 显示全部楼层
STM32 的系统 Bootloader 在启动时会尝试初始化 HSE。如果 HSE 起振时间超过了 Bootloader 内部设定的等待超时阈值,Bootloader 会自动切换回 ‌HSI‌ 继续运行。
CarterERO 发表于 2026-8-12 18:54 | 显示全部楼层
晶振起振速度确实影响Bootloader检测,可以尝试调整晶振参数或更换晶振,同时检查PH0和PH1复用功能配置。
鹿鼎计 发表于 2026-9-27 10:06 | 显示全部楼层
HSE检测标准严格,确保启动器稳定运行。
ClarkLLOTP 发表于 2026-8-13 16:09 | 显示全部楼层
检查PH0和PH1的复用功能配置,确保Bootloader能正确识别HSE。
单芯多芯 发表于 2026-10-3 09:44 | 显示全部楼层
在DFU模式下,USB中断通常是禁用的,以支持设备固件的升级过程。
AloneKaven 发表于 2026-8-13 21:01 | 显示全部楼层
检查晶振负载电容,确保Bootloader检测窗口内晶振能稳定起振。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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