了解GPIO对应的主要功能

GPIO

GPIO是通用输入输出端口的简称,芯片上的GPIO引脚与外部设备连接实现通讯、控制以及数据采集等功能,最基本的输出功能是通过控制引脚输出高低电平继而实现开关控制,比如引脚接入LED灯可控制LED灯的亮灭,接入继电器或三极管可控制外部大功率电路的通断。

  • 保护二极管及上、下拉电阻:引脚的两个保护二极管可防止引脚外部电压输入过高或过低导致芯片烧毁,引脚电压高于VDD时,上方二极管导通,此引脚尽管有保护,但也不可直接外接大功率驱动器件,若外接需要加大功率及隔离电路驱动。
  • P-MOS管和N-MOS管:引脚线路经过二极管后向上流向"输入模式",向下流向"输出模式",也就是经过一个由P-MOS和N-MOS管组成的单元电路,此结果使GPIO具有"推挽输出"和"开漏输出"两种模式。
  • 推挽输出即该结构中输出高电平时,经过反向后,上方的P-MOS导通,下方N-POS关闭,对外输出高电平;该结构输入低电平时,经过反向后,N-MOS导通,P-MOS关闭,对外输出低电平;当高低电平切换时,P管(灌电流)和N管(拉电流)轮流导通,使其负载能力和开关速度明显提高。注意:推挽输出低电平为0V,高电平为3.3V。一般来说此模式应用较多。
  • 开漏输出即P-MOS管完全不工作(控制输出为0,低电平时P-MOS管关闭,N-MOS管导通,输出接地),控制输出为1时,两管都关闭,引脚不输出电平,为高阻态。此时为正常使用必须外部接上拉电阻提供高电平(此时高电平电压为外部上拉电阻电源电压)。注意:开漏输出一般应用在I2C、SMBUS通讯等总线电路中,还可应用于电平不匹配的场合,如需要输出5V高电平则接一个上拉电源为5V的电阻,将GPIO设置为开漏模式
  • 输出数据寄存器:MOS管结构电路的输入信号就是由输出寄存器GPIOx_ODR提供的,我们通过修改寄存器值修改引脚的输出电平;
  • 模拟输出输出:当GPIO引脚用于ADC采集电压的输入通道时,用作"模拟输入"功能,此时信号不经过施密特触发器(信号只有0、1两种状态),ADC外设要确保采集到原始模拟信号必须在触发器前进行信号源输入;

GPIO工作模式:

  • 输入模式(模拟、浮空、上拉、下拉):通过输入数据寄存器(IDR)读取I/O状态,浮空输入一般接按键时使用,模拟输入一般用于ADC采集;
  • 输出模式(推挽、开漏):通过输出数据寄存器(ODR)控制I/O高低电平
  • 复用功能(推挽、开漏):输出使能,输出数据寄存器无效,输出可用,但一般直接用外设寄存器获取数据信号。
相关推荐
liwulin05062 小时前
【ESP32-S3】通过ROS2使用YDLIDAR X2进行SLAM、自主导航方案选择
单片机·嵌入式硬件
是翔仔呐3 小时前
第11章 显示外设驱动:I2C协议OLED屏、SPI协议LCD屏字符/图片/中文显示
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
-凌凌漆-5 小时前
【嵌入式】FreeRTOS串口等待vTaskDelay()
嵌入式硬件
小昭在路上……6 小时前
GPIO端口引脚(位域)打包技巧笔记
单片机·嵌入式硬件
是翔仔呐6 小时前
第13章 SPI通信协议全解:底层时序、4种工作模式与W25Qxx Flash芯片读写实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
悠哉悠哉愿意6 小时前
【单片机复习笔记】第十六届省赛复盘
笔记·单片机·嵌入式硬件
IT方大同6 小时前
RT_thread(RTOS实时操作系统)线程的创建与切换
c语言·开发语言·嵌入式硬件
是翔仔呐6 小时前
第14章 CAN总线通信全解:底层原理、帧结构与双机CAN通信实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
沐欣工作室_lvyiyi7 小时前
基于单片机的智能浴室(论文+源码)
stm32·单片机·嵌入式硬件·智能浴室
二本咕咕-机械转码7 小时前
STM32是怎么跑起来的?启动流程 + 时钟树一次讲透(面试高频)
stm32·嵌入式硬件·面试