输入输出端口GPIO、推挽输出、开漏输出基本概念

目录

什么是GPIO 

GPIO命名规则

GPIO工作模式简介

推挽输出

开漏输出


什么是GPIO 

GPIO是通用输入输出端口的简称,简单来说就是STM32可控制的引脚STM32芯片的GPIO引脚与 外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。 我们可以控制GPIO引脚的电平变化,达到我们的各种目的。  

GPIO命名规则

组编号+引脚编号

组编号:GPIOA, GPIOB, GPIOC, GPIOD .. GPIOG
引脚编号: 0 1 2 3 4...15
组合:
PA0, PA1, PA2 .. PA15
PB0, PB1, PB2 .. PB15
PC0, PC1, PC2 .. PC15
有特殊功能的引脚是不能用作 IO
内部框架图
输入输出端口GPIO、推挽输出、开漏输出基本概念_第1张图片

GPIO工作模式简介

4种输入模式:
输入浮空 GPIO_Mode_IN_FLOATING:此模式最常用的是检测按键,可以接收高低电平。但容易被干扰。
带上拉输入 GPIO_Mode_IPU:此模式检测到电平默认为高,可以检测到由高到低的电平变化。
带下拉输入GPIO_Mode_IPD:此模式检测到电平默认为低,可以检测到由低到高的电平变化。
模拟输入 GPIO_Mode_AIN:此模式可以检测外部输入的模拟电压,可以检测电压值,只要不高于Vcc即可。

4种输出模式:
开漏输出 GPIO_Mode_Out_OD:开漏输出用于输出低电平,高电平靠外部上拉电阻电压决定。
开漏复用功能 GPIO_Mode_AF_OD:复用IIC时候选择复用开漏输出,因为开漏输出可以“线与”。
推挽式输出 GPIO_Mode_Out_PP:推挽输出用于输出高低电平,是最常用的模式。
推挽式复用功能 GPIO_Mode_AF_PP:其他复用比如SPI等可以选择复用推挽输出。

推挽输出

输入输出端口GPIO、推挽输出、开漏输出基本概念_第2张图片

 上面三级管导通,输出高电平,下面三极管导通,输出低电平。

输出0时,N-MOS导通,P-MOS高阻,输出0。

输出1时,N-MOS高阻,P-MOS高阻,输出1;(不需要外部上拉电阻)

开漏输出

输入输出端口GPIO、推挽输出、开漏输出基本概念_第3张图片

 三极管导通输出低电平,三极管截止是高阻态,电平由外部上拉电阻决定

一般开漏输出模式时,如果外部不接上拉电阻时,只能输出低电平,所以要想输出高电平必须要外接上拉电阻。这样做可以用来匹配不同的电平信号,也就是用于不同电压的系统之间的通信;另外,因为要输出高电平需要有外部的上拉电阻,所以在进行通信时,通信的速度也受到上拉电阻阻值的影响,阻值小时,通信速度可以很快,阻值大时,通信速度变慢。

你可能感兴趣的:(STM32/FreeRTOS,单片机,stm32,嵌入式硬件)