3、GPIO(上)
1 GPIO介绍
1.1 什么是GPIO
Genera l Purpose Input Output(GPIO),即通用输入输出端口。主要用于采集外部器件的信息或者控制外部器件的工作。
1.2 GPIO特点
1、不同型号的芯片的IO口数量不同
2、翻转速度快,最快只需要两个时钟周期
3、每个IO口都可以做中断
4、支持8种工作模式
1.3 GPIO电气特性
STM32工作电压范围:2V≤VDD≤3.6V
GPIO识别电压范围:(CMOS)在-0.3V到1.164V之间识别为低电平,在1.833V到3.6V之间识别为高电平,在1.164V到1.833V之间保持为上一状态,越过这一范围才会改变。
GPIO输出电流:单个IO口最大为25mA
2 GPIO八种工作模式
2.1 四种输入模式
浮空输入:上下拉电阻均断开,电平完全由外部电路所决定,高阻抗,易受干扰。
上拉输入:上拉电阻接通,下拉电阻断开,默认状态为高电平。
下拉输入:下拉电阻接通,上拉电阻断开,默认状态为低电平。
模拟输入:施密特触发器关闭,上下拉电阻均断开,信号不经过数字电路而直接进入模拟外设。
2.2 四种输出模式
推挽输出:P-MOS和N-MOS同时工作,可输出高低电平,驱动能力强。
开漏输出:仅N-MOS工作,只能输出低电平。
复用推挽/开漏输出:特点与推挽/开漏输出一样,但是输出信号由片上外设而非CPU所控制(如SPI时钟,USART串口等)。
3 GPIO寄存器
3.1 GPIO寄存器介绍
F1系列GPIO通用寄存器有七种:
CRL/CRH:配置工作模式、输出速度,其中CRL配置0-7号端口,CRH配置8-15号端口。对于任意一个引脚,其被分配4个配置位,因此CRL和CRH皆为32位寄存器。这4个配置位中,两位是模式位,用于配置输出模式及输出速度,或设置输入模式,具体含义如下:
00:输入模式
01:最大速度10MHz的输出模式
10:最大速度2MHz的输出模式
11:最大速度50MHz的输出模式
另外两位是配置位,用于选择具体的输入或输出模式,当模式位为00时其含义如下:
00:模拟输入模式
01:浮空输入模式
10:上/下拉输入模式
11:保留
当模式位大于00时,其含义如下:
00:推挽输出模式
01:开漏输出模式
10:复用推挽输出
11:复用开漏输出
IDR:输入数据,只读。该32位寄存器中,16至31位保留,0至15位对应16个引脚,每一位反应对应引脚的物理电平状态,高电平记为1,低电平记为0。
ODR:输出数据,读写。该32位寄存器中,16至31位保留,0至15位对应16个引脚。在输出模式下,向某位写入1时会控制对应引脚为高电平,0则控制为低电平;在输入模式下,向某位写入值会控制内部上拉/下拉电阻接通或断开。
BSRR:设置ODR的值,只写。对其0-15位中的任一位写入1可控制对应引脚置位(Set),对16-31位中的任一位写入1可控制对应引脚复位(Reset),向其写入0则无影响。
BRR:将指定引脚清零,只写。该寄存器只有16位,与BSRR中的复位功能一致。
LCKR:锁定端口配置,32位寄存器。

浙公网安备 33010602011771号