从上面引脚定义图可以发现,USB的D-和D+分别接到PA11(USBDM)和PA12(USBDP)上,PA12(USBDP)即D+通过跳线使上拉1.5K电阻到VCC(3.3V)
1.四种输入
浮空输入 GPIO_Mode_IN_FLOATING
浮空输入使用过程中,io口的电平由输入端决定
模拟输入 GPIO_Mode_AIN
上拉输入 GPIO_Mode_IPU
上拉输入过程中,io口会接一个上拉电阻,默认电平为高电平。
下拉输入 GPIO_Mode_IPD
下拉输入过程中,io口会接一个下拉电阻,默认电平为低电平
2.四种输出
推挽输出 GPIO_Mode_Out_PP
开漏输出 GPIO_Mode_Out_OD
复用开漏 GPIO_Mode_AF_OD
复用推挽 GPIO_Mode_AF_PP
当我们使用PA11和PA12作为输入引脚,会出现哪些问题
PA12 这个io口连接的是USB的D+端,默认为上拉,即该io口不管如何配置默认都为高电平。
基于该特性,该io口在被设置为下拉输入时会无法使用。
总之我们如果要使用USB给单片机供电,PA11和PA12这两个引脚口最好不要使用,特别是作输入引脚。在使用io口,尽量看引脚定义图里这些IO口是否为特殊功能引脚,尽量避开这些引脚,避免掉坑。