STM32的GPIO基本知识

一、GPIO的简介

GPIO(Genaral Purpose Input/output,通用输入/输出端口),简单来说,就是stm32的一些引脚,stm32就是通过这些引脚与外界连接并进行数据交互,比如说,实现驱动led、读取按键的输入、模拟通讯协议输出时序,控制蜂鸣器、ADC数据采集等一些基本功能。学习stm32的GPIO是入门stm32的必经阶段。

二、GPIO的工作原理

GPIO有8种工作模式

(1)上拉输入模式

(2)下拉输入模式

(3)浮空输入模式

(4)模拟输入模式

(5)推挽输出模式

(6)开漏输出模式

(7)复用推挽输出模式

(8)复用开漏输出模式

为了能更好的了解GPIO是如何工作的,下面将进行图文讲解该部分的工作原理。

STM32的GPIO基本知识_第1张图片

图中最右端 I/O 端口是STM32 芯片的引脚,其它部分都在 STM32 芯片内部。

总的来说,大致分为两部分,上部分的输入电路、下半部分的输出电路。

(1)  保护二极管

  • 引脚内部加上这两个保护二级管可以防止引脚外部过高或过低的电压输入。
  • 当引脚电压高于 VDD_FT 或 VDD 时,上方的二极管导通吸收这个高电压。
  • 当引脚电压低于 VSS 时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。

VDD_FT :对于部分引脚而言,是可以忍受5V电压的,这就需要参照数据手册了。

正常情况下,引脚忍受电压范围是0~3.3V。

(2)上、下拉输入模式

  • 上拉电阻的作用:引脚接入上拉电阻,通过开关,连接到电源VDD,当I/O引脚没有信号输入时,默认输入高电平。

    下拉电阻也是如此,默认输入低电平。

  • 经过TTL施密特触法器进行信号的滤波,向对应的寄存器输入数据。TTL施密特触法器功能:当传输的信号高于某一阈值时,输出高电平,低于某一阈值时,输出低电平,这样可以把一些毛刺信号变得平滑。(上图中的肖特基触发器就是施密特触发器)

(3)浮空输入模式

引脚内部既不接上拉电阻也不接下拉电阻,直接进过施密特触发器输入I/O引脚的信号。

STM32的GPIO基本知识_第2张图片

(4)模拟输入模式

引脚内部既不接上拉电阻也不接下拉电阻,关闭施密特触发器,直接输入I/O引脚的信号。

(5)推挽输出模式

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