STM32开发板学习(三)——GPIO功能、5v兼容口

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基础知识

STM32开发板学习(三)——GPIO功能、5v兼容口_第1张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第2张图片

4种输入模式

STM32开发板学习(三)——GPIO功能、5v兼容口_第3张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第4张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第5张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第6张图片

4种输出模式

STM32开发板学习(三)——GPIO功能、5v兼容口_第7张图片
若①处写入1,则N-MOS关闭,④处电平由上拉下拉电阻决定,⑥处读数由外部上拉下拉电阻决定
若①处写入0,则N-MOS开启,④处I/O电平被拉至N-MOS处的Vss,I/O输出低电平,⑥处读低电平
STM32开发板学习(三)——GPIO功能、5v兼容口_第8张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第9张图片
若①处写入1,则P-MOS导通 N-MOS截止,I/O输出1
若①处写入0,则P-MOS截止 N-MOS导通,I/O输出0
STM32开发板学习(三)——GPIO功能、5v兼容口_第10张图片
在这里插入图片描述
STM32开发板学习(三)——GPIO功能、5v兼容口_第11张图片

相关配置寄存器

每个GPI/O端口有

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

STM32开发板学习(三)——GPIO功能、5v兼容口_第12张图片
每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。
GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。

端口电压

STM32开发板学习(三)——GPIO功能、5v兼容口_第13张图片
STM32的部分IO口可以容忍5V,部分IO口只能是3.3V容忍。
到底哪些能够容忍,查看数据手册, 引脚标注”FT"的是可以容忍5V的
STM32开发板学习(三)——GPIO功能、5v兼容口_第14张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第15张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第16张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第17张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第18张图片
STM32开发板学习(三)——GPIO功能、5v兼容口_第19张图片

端口复用

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

端口重映射

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

你可能感兴趣的:(STM32开发板学习)