OTG_FS简介:


问题描述


显示USB虚拟串口无法识别
原因分析:
配置流程:
第一步配置RCC时钟:

sys简单配置一下:

STM32F407ZGT6哪些引脚可以接USB
STM32F407ZGT6是一款支持USB功能的微控制器,它有多个引脚可以用于USB接口。具体来说,以下引脚可以用于USB接口:
- PA11和PA12:这对引脚是USB_OTG_FS的D-和D+数据线。
- PB14和PB15:这对引脚是USB_OTG_HS的D-和D+数据线。
- PA9和PA10:这对引脚也可以用作USB_OTG_FS的D-和D+数据线,但需要将相应的引脚复用功能设置为USB主机模式。

配置USB_OTG模式选择从机:


下图是我错误,以至于我搞了好几天没弄出来的原因:(cubemx默认的是25MHZ的外部晶振配置的时候我没改,然后检查的时候只看了USB的晶振48Mhz是对的所以就默认时钟是对的了)

堆栈配置:

生成工程文件:
添加头文件 #include "usbd_cdc_if.h"。
在 main() 的死循环中添加 CDC_Transmit_FS() 函数。
然后就出现USB不能识别。
解决方案:
重新配置时钟树如下图:

确保USB时钟为48MHZ

成功解决:

本文介绍了在STM32F407ZGT6上配置USBOTG_FS遇到的问题,如USB识别失败,原因在于未正确配置RCC时钟,特别是使用了默认的25MHz晶振。解决方案是将USB时钟改为48MHz,确保相关头文件添加和主函数中调用CDC_Transmit_FS。
5934

被折叠的 条评论
为什么被折叠?



