day3 STM32 GPIO口介绍

GPIO接口简介

通用输入输出接口GPIO是嵌入式系统、单片机开发过程最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和功能是非常重要的。

GPIO功能复用

GPIO复用是指将一个GPIO引脚用于多种不同的功能。在现代电子设备中,GPIO引脚的数量通常是有限的,因此,为了实现更多的功能,需要使用GPIO复用技术。(具体复用功能查看《STM32F0数据手册》)

GPIO寄存器介绍

STM32F051 - GPIO常用寄存器:

4个32位配置寄存器:

GPIOx_MODER、GPIOx_OTYPER、 GPIOx_OSPEEDR 、 GPIOx_PUPDR

2个32位数据寄存器:

GPIOx_IDR 、GPIOx_ODR

1个32位置位 / 复位寄存器

GPIOx_BSRR;

2个32位复用功能配置集训期

GPIOx_AFRH、GPIOx_AFRL

注:每一组GPIO端口都有一套上述的寄存器去配置他自己的功能;

GPIO工作原理图

GPIO寄存器OTYPEP:

位 31:16 ------保留,必须保持为复位值。

位15:0 OTy[1:0] ,端口x的配置为(y = 0 ..15)这些位可由软件写来配置I/O口的输出类型

0:推挽输出(复位状态),正常状况下使用

此模式正常输出高低电平,P-MOS管工作输出高电平:N-MOS管工作输出低电平;

1:开漏输出 , 适用于电流型驱动

此模式下有可能得不到高电平,因为此状态下P-MOS管不工作,若想得到高电平可配置上下拉电阻实现。

GPIO寄存器OSPEEDR:

GPIO 口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F)

偏移地址: 0x08

复位值: 0x0000 0000

GPIO寄存器PUPDR:

GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F)

偏移地址: 0x0C

复位值:

● 0x2400 0000 端口 A

● 0x0000 0000 其它端口

GPIO寄存器IDR:

GPIO 端口输入数据寄存器 (GPIOx_IDR) (x = A..D,F)

偏移地址: 0x10

复位值: 0x0000 XXXX (X 表明不定 )

GPIO寄存器ODR:

GPIO 端口输出数据寄存器 (GPIOx_ODR) (x = A..D,F)

偏移地址: 0x14

复位值: 0x0000 0000

GPIO寄存器BSRR:

GPIO 端口置位 / 复位寄存器 (GPIOx_BSRR) (x = A..D,F)

偏移地址: 0x18

复位值: 0x0000 0000

GPIO寄存器AFRL:

GPIO 复用功能低位寄存器 (GPIOx_AFRL) (x = A..B)

偏移地址: 0x20

复位值: 0x0000 0000

GPIO寄存器AFRH:

GPIO 复用功能低位寄存器 (GPIOx_AFRH) (x = A..B)

偏移地址: 0x24

复位值: 0x0000 0000

相关推荐
weixin_4568083817 分钟前
【沁恒蓝牙开发】ADC DMA定时采样、转化
单片机·嵌入式硬件
华普微HOPERF1 小时前
MCU+BLE射频+丰富外设,BLE SoC如何高效传输数据?
单片机·嵌入式硬件
振南的单片机世界1 小时前
时钟开关:不用的外设,把它的时钟关掉,省电!
stm32·单片机·嵌入式硬件
金色光环1 小时前
SCPI添加错误码
stm32·scpi
iCxhust2 小时前
将8088 BootLoader分拆烧写到8086 ROM中
stm32·单片机·嵌入式硬件·51单片机·微机原理
国科安芯2 小时前
商业航天电机控制领域抗辐射 MCU 芯片应用研究
网络·单片机·嵌入式硬件·安全性测试
charlie1145141913 小时前
嵌入式C++工程实践第20篇:GPIO 输入模式内部电路 —— 芯片是如何“听“到外部信号的
开发语言·c++·stm32·单片机
电子科技圈3 小时前
芯科科技在蓝牙亚洲大会展示汽车与边缘AI前沿蓝牙创新技术, 解锁车用、家居、健康及工商业等应用场景
人工智能·科技·嵌入式硬件·mcu·物联网·网络安全·汽车
不吃鱼的羊4 小时前
DISC 性格测评理论
嵌入式硬件
Wallystech-Linda4 小时前
IPQ9574 + QCN9274 WiFi 7 Platform — DR9574
嵌入式硬件