我想在
STM32L476 Nucleo-64
开发板上测试 USB。我使用 STM32CubeMX 版本 6.2.1,它使用的库是“STM32CubeL4 固件包 V1.17.0 / 11-February-2021”。我在 STM32CubeMX 的 Board Selector 中选择 Nucleo-64,然后简单地启用 Connec
tivity->USB_OTG_FS and Middleware->USB-DEVICE 并选择“Class For FS IP”: Communication Device Class (Virtual Port Com)”并生成代码,编译它然后将其上传到微控制器。当我执行代码时,它在设备管理器(在 Windows 10 上)中显示“未知 USB 设备(设备描述符请求失败)”。我在谷歌上搜索了很多并尝试了很多东西(限制数据包大小,增加堆栈和堆大小,禁用板上的其他外围设备等),但无济于事。我已确认在插入 USB 电缆时会出现 OTG_FS_IRQHandler 中断。当我探测示波器上的数据线时,我看到了干净的信号,但令我惊讶的是“最小位”是 667 ns 宽,这意味着 1.5 Mbits/s(但也许我误解了 USB 协议的工作原理,尤其是在连接过程的早期阶段)。我没有对
PCB 进行任何硬件更改。我可以看到 SB31 已连接,我可以在打开
电源后立即在 VDDUSB 上测量 3.3 V。我连接的唯一电线是 GND、USB_OTG_FS_DP 和 USB_OTG_FS_DM,这些电线是短双绞线(仅数据线)。我正在使用带有一堆 PLL:s 和分频器的内部时钟 (HSI),并且 STM32CubeMX 时钟配置没有问题。有人知道我做错了什么吗?当我探测示波器上的数据线时,我看到了干净的信号,但令我惊讶的是“最小位”是 667 ns 宽,这意味着 1.5 Mbits/s(但也许我误解了 USB 协议的工作原理,尤其是在连接过程的早期阶段)。我没有对 PCB 进行任何硬件更改。我可以看到 SB31 已连接,我可以在打开电源后立即在 VDDUSB 上测量 3.3 V。我连接的唯一电线是 GND、USB_OTG_FS_DP 和 USB_OTG_FS_DM,这些电线是短双绞线(仅数据线)。我正在使用带有一堆 PLL:s 和分频器的内部时钟 (HSI),并且 STM32CubeMX 时钟配置没有问题。有人知道我做错了什么吗?当我探测示波器上的数据线时,我看到了干净的信号,但令我惊讶的是“最小位”是 667 ns 宽,这意味着 1.5 Mbits/s(但也许我误解了 USB 协议的工作原理,尤其是在连接过程的早期阶段)。我没有对 PCB 进行任何硬件更改。我可以看到 SB31 已连接,我可以在打开电源后立即在 VDDUSB 上测量 3.3 V。我连接的唯一电线是 GND、USB_OTG_FS_DP 和 USB_OTG_FS_DM,这些电线是短双绞线(仅数据线)。我正在使用带有一堆 PLL:s 和分频器的内部时钟 (HSI),并且 STM32CubeMX 时钟配置没有问题。有人知道我做错了什么吗?5 Mbits/s(但也许我误解了 USB 协议的工作原理,尤其是在连接过程的早期阶段)。我没有对 PCB 进行任何硬件更改。我可以看到 SB31 已连接,我可以在打开电源后立即在 VDDUSB 上测量 3.3 V。我连接的唯一电线是 GND、USB_OTG_FS_DP 和 USB_OTG_FS_DM,这些电线是短双绞线(仅数据线)。我正在使用带有一堆 PLL:s 和分频器的内部时钟 (HSI),并且 STM32CubeMX 时钟配置没有问题。有人知道我做错了什么吗?5 Mbits/s(但也许我误解了 USB 协议的工作原理,尤其是在连接过程的早期阶段)。我没有对 PCB 进行任何硬件更改。我可以看到 SB31 已连接,我可以在打开电源后立即在 VDDUSB 上测量 3.3 V。我连接的唯一电线是 GND、USB_OTG_FS_DP 和 USB_OTG_FS_DM,这些电线是短双绞线(仅数据线)。我正在使用带有一堆 PLL:s 和分频器的内部时钟 (HSI),并且 STM32CubeMX 时钟配置没有问题。有人知道我做错了什么吗?打开电源后,VDDUSB 上的电压为 3 V。我连接的唯一电线是 GND、USB_OTG_FS_DP 和 USB_OTG_FS_DM,这些电线是短双绞线(仅数据线)。我正在使用带有一堆 PLL:s 和分频器的内部时钟 (HSI),并且 STM32CubeMX 时钟配置没有问题。有人知道我做错了什么吗?打开电源后,VDDUSB 上的电压为 3 V。我连接的唯一电线是 GND、USB_OTG_FS_DP 和 USB_OTG_FS_DM,这些电线是短双绞线(仅数据线)。我正在使用带有一堆 PLL:s 和分频器的内部时钟 (HSI),并且 STM32CubeMX 时钟配置没有问题。有人知道我做错了什么吗?