Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >(三)STM32基础——GPIO介绍

(三)STM32基础——GPIO介绍

作者头像
小点点
发布于 2022-12-12 06:13:16
发布于 2022-12-12 06:13:16
1.2K0
举报
文章被收录于专栏:小点点小点点

目录

GPIO简介

GPIO基本结构

GPIO位结构

输入部分 

输出部分

推挽输出模式

开漏输出​编辑

开漏复用输出​编辑

八种输入输出模式 

浮空、上拉、下拉输入​编辑

模拟输入

开漏、推挽输出

复用开漏、复用推挽输出

GPIO寄存器


GPIO简介

        GPIO(General Purpose Input Output)叫做通用输入输出口,可配置为8种输入输出模式。

引脚电平:0V~3.3V,部分引脚可容忍5V。

        输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等

        输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等

GPIO基本结构

        STM32F407ZG一共有7组IO口,每组IO口有16个IO,一共112个IO。命名为GPIOA,GPIOB,GPIOC......,GPIOG,然后每组IO口的命名是由0~15,一个16个,如GPIOA1等等。寄存器的每一位都对应一个引脚,其中输出寄存器写1,对应的引脚输出高电平,写0,就输出低电平,输入寄存器读取1,对应的端口目前是高电平,读取0,就是低电平。只有寄存器低16位对应有端口,高16位没有用到,而驱动器是用来增加驱动能力的。

GPIO位结构

输入部分 

        保护二极管的作用就是防止电流过高或者过低,当电流过高时,接VDD的保护二极管接通,高电流就不会通过电路了,当电流为负时,接VSS的二极管导通, 负压也不会通过电路析取电流,很好的起到了保护电路的效果。

        上面那两个开关就是上拉电阻和下拉电阻了,这两个电阻,通俗一点来讲的话,就是赋初值,当这两个开关都断开时,电路输入会处于一种浮空的状态,引脚的输入电平极易受到外界干扰而改变。而当选择上拉输入时,就是给电路默认赋一个高电平,相反,选择下拉输出时,就是给电路默认赋一个低电平。

        再过去就是一个施密特触发器(应该是翻译错误) ,作用就是对输入电压进行整形,主要原理就是,当电压高于某个值,输出才变为高电平,而当电压低于某个值之后,电压立马变为低电平,这样可以有效的修整电压,防止数据抖动。

 模拟输入就是直接连接到ADC上的

另一个是复用功能输入 ,需要连接到其他需要读取端口的外设上

输出部分

首先来看一下位设置/清除寄存器,主要功能就是单独控制输出寄存器的某一位数据

        之后是这两个MOS管,就是一种电子开关 ,通过控制MOS管,可以将IO口接到VDD或者VSS。

接下来介绍一下三种输出模式 

推挽输出模式

         在推挽输出模式下,PMOS和NMOS均有效,数据寄存器为1时,上管导通,下管断开,输出直接接到VDD,就是输出高电平,数据寄存器为0时,上管断开,下管导通,输出直接接到VSS,就是输出低电平。

开漏输出

         在开漏输出模式下,PMOS是无效的,只有NMOS在工作,数据为1时,下管断开,也就是输出断开;数据为0时,下管导通,输出直接接到VSS,就是输出低电平。想输出高电平,就只能外界电源。

开漏复用输出

 就是直接接在复用功能输出这,与复用输出类似

八种输入输出模式 

模式名称

性质

特征

浮空输入

数字输入

可读取引脚电平,若引脚悬空,则电平不确定

上拉输入

数字输入

可读取引脚电平,内部连接上拉电阻,悬空时默认高电平

下拉输入

数字输入

可读取引脚电平,内部连接下拉电阻,悬空时默认低电平

模拟输入

模拟输入

GPIO无效,引脚直接接入内部ADC

开漏输出

数字输出

可输出引脚电平,高电平为高阻态,低电平接VSS

推挽输出

数字输出

可输出引脚电平,高电平接VDD,低电平接VSS

复用开漏输出

数字输出

由片上外设控制,高电平为高阻态,低电平接VSS

复用推挽输出

数字输出

由片上外设控制,高电平接VDD,低电平接VSS

浮空、上拉、下拉输入

模拟输入

开漏、推挽输出

复用开漏、复用推挽输出

要注意的是,输出的时候,输入端也是开启的,而输入的时候,输出端是关闭的。

GPIO寄存器

接下来,我们来介绍一下GPIO的寄存器

 配置IO方向

端口输出类型寄存器(GPIOx_OTYPER)

每一位控制一个IO,当数值为1时,是输出开漏,数值为0时,是输出推挽。 

 每两位控制一个IO口,用来控制端口输出速度。

端口上拉/下拉寄存器(GPIOx_PUPDR)

每两位控制一个IO口,每两位设置不同的值,就对应不同的模式,具体如上图所示。

记录输入输出端的数据 

        注意,写0时不对其执行任何操作,而不是把其置为0。主要就是修改某几位而不改变其他的,BSy 置1,相应端口为1,BRy 置1,相应端口为0,也就是置位和复位。

        好的,到此处,GPIO的硬件原理部分我们已经全部介绍完毕,之后,我们下篇笔记来介绍一下如何编写程序来控制GPIO。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
STM32之GPIO输出与输出
每种模式都有其特定的应用场景,选择正确的模式对于确保电路正确工作至关重要。例如,如果要使用GPIO引脚作为数字输入来读取按钮状态,可以选择输入上拉或下拉模式;如果要用作LED驱动,则输出推挽模式可能是更好的选择。对于像I2C这样的通信协议,通常会使用输出开漏或复用开漏模式,因为这些协议通常需要外部上拉电阻来确保总线处于正确的电平。
破晓的历程
2024/12/23
4030
STM32之GPIO输出与输出
【STM32】GPIO口以及EXTI外部中断
输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等
s-little-monster
2024/08/09
5200
【STM32】GPIO口以及EXTI外部中断
GPIO基本知识
GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。那STM32引脚是如何分类的?GPIO内部结构是怎样的,随海翎光电的小编一起看看吧!
利又德智能感知
2023/07/07
2.4K0
GPIO基本知识
stm32学习笔记之GPIO功能框图分析
  GPIO 是通用输入输出端口的简称,简单来说就是STM32 可控制的引脚,STM32 芯片的GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32 芯片的GPIO被分成很多组,每组有16 个引脚,如型号为STM32F103VET6 型号的芯片有GPIOA、GPIOB、GPIOC 至GPIOE 共5 组GPIO,芯片一共100 个引脚,其中GPIO就占了一大部分,所有的GPIO引脚都有基本的输入输出功能。
用户6754675
2019/12/23
1.6K0
STM32 GPIO的原理、特性、选型和配置
STM32 GPIO是通用输入/输出端口的英文简称,其可实现输入、输出、驱动、通信等功能,STM32的I/O 端口有8种模式(4种输入模式和4种输出模式),每个 I/O 端口位支持3种最大翻转速度(2MHz、10MHz、50MHz),均可自由编程,但I/O 端口寄存器必须按 32 位字、半字(16位)或字节(8位)进行访问,具体模式如下所示:
不脱发的程序猿
2021/01/20
1.1K0
【嵌入式】手把手教你入门STM32的GPIO:初识GPIO输出
STM32是一系列基于ARM Cortex-M内核的32位微控制器。该系列微控制器广泛应用于计算机、通讯、工业自动化、消费电子、汽车电子、医疗仪器及家庭电器等领域。该系列控制器具有高性能、低功耗、智能化等特点。其中,GPIO就是STM32控制器中的一种重要的通用输入输出口。
用户10923087
2024/10/16
1.5K0
【嵌入式】手把手教你入门STM32的GPIO:初识GPIO输出
STM32-GPIO模式+寄存器点灯
引脚的两个保护二级管可以防止引脚外部过高或过低的电压输入,当引脚电压高于VDD 时,上方的二极管导通,当引脚电压低于VSS 时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。尽管有这样的保护,并不意味着STM32 的引脚能直接外接大功率驱动器件,如直接驱动电机,强制驱动要么电机不转,要么导致芯片烧坏,必须要加大功率及隔离电路驱动。
云深无际
2022/02/09
7410
STM32-GPIO模式+寄存器点灯
STM32端口输入输出模式配置
浮空输入:引脚内部什么都不接,处于浮空模式下,电平状态是不确定的。外部信号输入什么,IO口就是什么状态。
用户6754675
2020/12/15
1.2K0
STM32的I/O口的8种工作模式
开漏输出输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
緣來
2020/01/02
1.1K0
【STM32H7教程】第15章 STM32H7的GPIO基础知识(重要)
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第15章       STM32H7的GPIO基础知识(重要)
Simon223
2019/05/15
1.3K0
【STM32H7教程】第15章    STM32H7的GPIO基础知识(重要)
STM32F103GPIO-LED点灯
GPIO(General-Purpose IO ports,通用输入/输出接口),用于感知外界信号(输入模式)和控制外部设备(输出模式),如图 6.1.1 所示的STM32F103ZET6芯片四周的细引脚就是GPIO。
韦东山
2022/05/05
9650
STM32F103GPIO-LED点灯
GPIO 八种工作模式详解
GPIO 是通用输入/输出端口的简称,是 STM32 可控制的引脚。GPIO 的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。
Jasonangel
2021/10/25
6K0
GPIO 八种工作模式详解
有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别
最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:
用户4645519
2020/09/07
2.5K0
有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别
【STM32】GPIO跑马灯
STM32 的 IO 口相比 51 而言要复杂得多,所以使用起来也困难很多。首先 STM32 的 IO 口可以由软件配置成以下 8 种模式:
DevFrank
2024/07/24
1550
【STM32】GPIO跑马灯
[STM32] GPIO使用说明
开漏输出一般应用在I2C、SMBUS通信等需要“线与”功能的总线电路中。除此之外,还用在电平不匹配的场合,如需要输出5V的高电平,就可以在外部接一个上拉电阻,上拉电源为5V,并且把GPIO设置为开漏模式,当输出高阻态时,由上拉电阻和电源向外输出5V的电平,如下图
iot-me.club
2022/02/11
1.3K0
[STM32] GPIO使用说明
GPIO常见名词——推挽、开漏、浮空、上拉、下拉、高阻态
最近有不少初入嵌入式的小伙伴问我,推挽输出,开漏输出是什么,啥是浮空输入,上拉和下拉输入又该怎么区分,啥时候需要用?鉴于此前也没有写过这方面的博客,今天抽空来进行补充一下。
秋名山码神
2023/10/28
19.7K0
GPIO常见名词——推挽、开漏、浮空、上拉、下拉、高阻态
stm32基础知识必会_护理学基础必考知识点
F1 代表了基础型,基于 Cortex-M3 内核,主频为72MHZ,F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。
全栈程序员站长
2022/10/04
4160
stm32基础知识必会_护理学基础必考知识点
【STM32】STM32单片机入门
这是一个新的系列,stm32单片机系列,资料都是从网上找的,主要参考江协科技还有正点原子以及csdn博客等资料,以一个一点没有接触过单片机但有一点编程基础的小白视角开始stm32单片机的学习,希望能对也没有学过51直接学32的同学们有一定的作用和帮助 文章内容有很多是自己的理解,希望各位嵌入式大佬们可以看一下文章然后帮忙指正一下错误,感谢!
s-little-monster
2024/08/09
3010
【STM32】STM32单片机入门
【嵌入式】手把手教你入门STM32的GPIO:使用GPIO输入
GPIO引脚可以配置为输入或输出模式。在输入模式下,GPIO用于读取外部信号,比如开关、传感器等。以下是关于STM32 GPIO输入的一些基本知识点:
用户10923087
2024/10/30
1.1K0
【嵌入式】手把手教你入门STM32的GPIO:使用GPIO输入
硬件-上下拉电阻和GPIO方面介绍
  电源到元件间的叫上拉电阻,作用是平时使该脚为高电平地到元件间的叫下拉电阻,作用是平时使该脚为低电平;
Abalone
2022/09/08
2.6K0
硬件-上下拉电阻和GPIO方面介绍
相关推荐
STM32之GPIO输出与输出
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档