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位寄存器。

posted @ 2026-08-13 09:14  老鼠学32  阅读(1)  评论(0)    收藏  举报