USB全速STM32F407管脚初始化
2022-06-14
1589
0
STM32F407ZG的管脚PA11和PA12是一个复用功能引脚。其功能如下:
管脚 | USB |
---|---|
PA11 | OTG_FS_DM(D-) |
PA12 | OTG_FS_DP(D+) |
由于其内部D+有一个可配置上拉电阻,所以其硬件原图如下:
故只需要分别将连接器P11的46管脚和35管脚短接即可实现USB从硬件功能。
而管脚的初始化代码如下:
void USB_OTG_BSP_Init(USB_OTG_CORE_HANDLE *pdev)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_OTG_FS, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource11,GPIO_AF_OTG_FS);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource12,GPIO_AF_OTG_FS);)
}
- 先使能总线时钟,分别为IO管脚和USB的。
- 初始化PA11和PA12的管脚,推挽输出,复用功能,无上拉。
- 分别PA11和PA12的管脚功能,为GPIO_AF_OTG_FS
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936