GPIO工作原理

1.对于 GPIO 的配置8中配置

(1) GPIO_Mode_AIN 模拟输入
(2) GPIO_Mode_IN_FLOATING 浮空输入
(3) GPIO_Mode_IPD 下拉输入
(4) GPIO_Mode_IPU 上拉输入
(5) GPIO_Mode_Out_OD 开漏输出
(6) GPIO_Mode_Out_PP 推挽输出
(7) GPIO_Mode_AF_OD 复用开漏输出
(8) GPIO_Mode_AF_PP 复用推挽输出

说明:
推挽输出:可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由 IC 的电源低定。
开漏输出:输出相当于三级管的集电极,要得到高电平状态需要上拉电阻才行,适合做电流型的驱动,其吸收电流的能力相对强。
浮空输入: IO 的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。

2.通常有 5 种方式使用某个引脚功能,它们的配置方式如下:
1)作为普通 GPIO 输入:根据需要配置该引脚为浮空输入、 带弱上拉输入或带弱下拉输入,同时不要使能
该引脚对应的所有复用功能模块。
2)作为普通 GPIO 输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复
用功能模块。
3)作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。
4)作为内置外设的输入:根据需要配置该引脚为浮空输入、 带弱上拉输入或带弱下拉输入,同时使能该引
脚对应的某个复用功能模块。
5)作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所
有复用功能模块。

3.注意
如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。
stm32 复位后,IO 端口处于输入浮空状态.
JTAG 引脚复位以后,处于上拉或者下拉状态.
所有 IO 端口都具有外部中断能力,端口必须配置成输入模式,才能使用外部中断功能
4.IO 端口复用功能配置:
对于复用功能输入,端口可以配置成任意输入模式或者复用功能输出模式.
对于复用功能输出,端口必须配置成复用功能输出
对于双向复用功能,端口必须配置成复用功能输出
stm32 的部分 IO 端口的复用功能可以重新映射成另外的复用功能.
stm32 具有 GPIO 锁定机制,即锁定 GPIO 配置,下次复位前不能再修改.
当 LSE 振荡器关闭时,OSC32_IN 和 OSC32_OUT 可以用作通用 IO PC14 和 PC15.
当进入待机模式或者备份域由 Vbat 供电,PC14,PC15 功能丢失,该两个 IO 口线设置为模拟输入功能.
OSC_IN 和 OSC_OUT 可以重新映射为 GPIO PD0,PD1.
注意 PD0,PD1 用于输出地时候仅能用于 50MHz 输出模式.
注意:PC13,PC14,PC15 只能用于 2MHz 的输出模式,最多只能带 30pf 的负载,并且同时只能使用一个引
脚!!!

你可能感兴趣的:(STM32)