STM32学习:STM32 GPIO介绍

一、GPIO是什么

GPIO( general purpose intput output )是通用输入输出端口的简称,可以通过软件来控制其输入和输出。STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。

二、STM32引脚分类

  • 电源管脚
  • 晶振管脚
  • 复位管脚
  • 下载管脚
  • BOOT管脚
  • GPIO管脚
STM32 LQFP144.png

三、如何查找GPIO功能

通过STM32F103ZET6芯片数据手册即可查找。

STM32F103ZET6芯片数据.png
STM32F103ZET6芯片数据.png

四、GPIO基本结构

GPIO基本结构.png

五、GPIO工作模式

(一)输入模式

输入浮空

输入浮空模式.png

输入上拉

输入上拉模式.png

输入下拉

输入下拉模式.png

模拟输入

模拟输入模式.png

(二)输出模式

开漏输出

开漏输出模式.png

开漏复用输出

开漏复用输出模式.png

推挽输出

推挽输出模式.png

推挽复用输出

推挽复用输出模式.png

(三)总结

推挽输出

  • 可以输出高低电平,用于连接数字器件,高电平由VDD决定,低电平由VSS决定。
  • 推挽结构指两个三极管受两路互补的信号控制,总是在一个导通的时候另外一个截止,优点开关效率效率高,电流大,驱动能力强。
  • 输出高电平时,电流输出到负载,叫灌电流,可以理解成推,输出低电平时,负载电流流向芯片,叫拉电流,即挽。

开漏输出

  • 只能输出低电平,不能输出高电平。如果要输出高电平,则需要外接上拉。
  • 开漏输出具有“线与”功能,一个为低,全部为低,多用于I2C和SMBUS总线。

六、GPIO初始化步骤

具体寄存器参考STM32F1xx中文参考手册。

  1. 确定GPIO的工作模式和工作速度(通过配置寄存器GPIOx_CRL和GPIOx_CRH)
  2. 具体要输出的内容(置位复位寄存器:BSRR和数据输出寄存器:ODR)

你可能感兴趣的:(STM32学习:STM32 GPIO介绍)