单片机学习小组
直播中

敷衍作笑谈

9年用户 977经验值
擅长:制造/封装 连接器 光电显示 接口/总线/驱动 RF/无线
私信 关注

回顾GPIO的相关基础知识

GPIO的功能有哪些?
GPIO有哪几种输入输出工作模式呢?

回帖(1)

傅双育

2022-2-23 11:35:35
GPIO功能


(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 复用推挽输出

GPIO基础知识





4种输入模式







4种输出模式



若①处写入1,则N-MOS关闭,④处电平由上拉下拉电阻决定,⑥处读数由外部上拉下拉电阻决定
若①处写入0,则N-MOS开启,④处I/O电平被拉至N-MOS处的Vss,I/O输出低电平,⑥处读低电平


若①处写入1,则P-MOS导通 N-MOS截止,I/O输出1
若①处写入0,则P-MOS截止 N-MOS导通,I/O输出0




相关配置寄存器


每个GPI/O端口有



  • 两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH)
  • 两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR)
  • 一个32位置位/复位寄存器(GPIOx_BSRR)
  • 一个16位复位寄存器(GPIOx_BRR)
  • 一个32位锁定寄存器(GPIOx_LCKR)


每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。
GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。

端口电压



STM32的部分IO口可以容忍5V,部分IO口只能是3.3V容忍。
到底哪些能够容忍,查看数据手册, 引脚标注”FT"的是可以容忍5V的







端口复用


有些端口不仅仅可以作为通用IO口,还可以复用为外设引脚
eg.PA9,PA10复用为串口1引脚

端口重映射


可以把某些功能引脚映射到其他引脚
eg.串口1默认引脚是PA9,PA10可Remap到PB6,PB7。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分