目录
前沿
前段时间在某宝购买了一块STM32F407 OTG所有引脚都引出来的板子,针对这块板子,测试了除了USBDP、USBDM和ULPI引脚之外的引脚,包括ID、SOF、VBUS引脚,这些引脚既可以空闲出来作为其他GPIO使用,也可以通过这些引脚来控制OTG的状态,下面就讲讲如何使用ID、SOF、VBUS这些引脚。
这里只针对OTG FS模块Device进行讲解,OTG HS模块类似。
1 ID引脚
OTG ID引脚可以作为区分主机或者从机的标志,当ID引脚拉高或者悬空的时候,OTG被识别为设备模式,当ID引脚拉低的时候,OTG被识别为主机模式。
当然STM32F407 OTG模块也能把ID引脚空闲出来,使ID引脚可以作为普通的GPIO使用。
1.1 ID引脚作为普通GPIO使用
查看用户手册,OTG_FS_GUSBCFG寄存器的FDMOD位置1,OTG_ID引脚就可以用作普通的GPIO了。
反应到代码的处,如下图所示:
1.2 ID引脚作为OTG引脚使用
OTG_FS_GUSBCFG寄存器的FDMOD位清零,OTG_ID引脚必须用作OTG信号引脚,并且OTG_ID拉高或悬空,为设备模式,OTG_ID拉低,为主机模式。