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
成功解决: