我用 STM32F401RET6的片上 USB 功能。设备正常应用程序运行时 USB 工作完全正常,但是无法进入 USB DFU 模式。
我怀疑原因是 HSE 振荡器没有被系统 Bootloader 识别,或是 Bootloader 内部出现其他异常。上电时将 BOOT0 拉高至 3.3V,设备不会启动用户应用程序,这一点符合预期。但插上 USB 线缆之后,芯片直接复位并进入普通用户程序,不会停留在 DFU 模式。
我通过 USART1 进入 DFU,可以正常建立连接。查阅 AN2606 应用笔记后推测问题是系统 Bootloader 检测不到 HSE 外部晶振。
但是 HSE 在应用程序中明显工作正常:USB CDC 能够稳定运行,电脑串口终端通信无问题。
外部晶振8 MHz。
设备供电方式二选一:可以由 USB 供电,也可以通过外部电源插座供电。
|
|