STM32八种I/O口模式

这篇具有很好参考价值的文章主要介绍了STM32八种I/O口模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

STM32八种I/O口模式


前言

作为两年嵌入式软件攻城狮,还没仔细去理解过STM32的GPIO的八种使用模式,俗话说嵌入式软硬件不分家,软件不懂硬件,出了问题有时候只能“抓虾”,今天有点时间,特此总结一下学过的有关STM32的GPIO模式的硬件知识。


一、stm32八种I/O类型

GPIO(general porpose intputoutput):通用输入输出端口的简称,在STM32中,对于 GPIO 的配置种类有以下 8 种之多,接触最多的就是开漏输出、上拉输入、推挽输出

类型 模式
GPIO_Mode_AIN 模拟输入
GPIO_Mode_IN_FLOATING 浮空输入
GPIO_Mode_IPD 下拉输入
GPIO_Mode_IPU 上拉输入
GPIO_Mode_Out_OD 开漏输出
GPIO_Mode_Out_PP 推挽输出
GPIO_Mode_AF_OD 复用开漏输出
GPIO_Mode_AF_PP 复用推挽输出

二、区别

1.模拟输入

模拟输入顾名思义就是对模拟信号的读取IO,关于什么是模拟信号此处不再赘述,在STM32给出的5 V 容忍 I/O 端口位的基本结构图中,模拟输入的路径如图红线所示。例如在单片机使用用AD采集电压信号时候,需将IO配置为模拟输入模式,为让单片机真实的读取到电压信号,该模式下既不开启上下拉,也不经过施密特触发器。stm32的i/o口,硬件探索之路,stm32,嵌入式硬件,单片机

2.浮空输入

浮空输入从字面意思理解就是IO口是悬浮滞空状态的,的在STM32给出的5 V 容忍 I/O 端口位的基本结构图中,浮空输入的路径如图红线所示需要走的路径如图所示。VDD和VSS两个开关同时断开,此时没有上拉和下拉的情况,我理解为浮空输入状态下, IO 的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。
优势:此模式下,IO电平会完全取决于外部电路而与内部电路无关,所以常用作对开关按键的读取。
stm32的i/o口,硬件探索之路,stm32,嵌入式硬件,单片机
注意:上拉和下拉电阻电路的开关在实际应用中一般使用MOS管来代替开关来提到。再往前面走,就是走到了TTL施密特触发器这一个部分。我们知道,由于电源的特性,或者是由于外部开关输入的特性,输入的数字信号,极有可能会出现脉冲等噪声的影响,为了让我们的波形更好看,或者信号更加清晰,所以就设置了TTL施密特触发器这个东西。经过之后,我们就会把这个数字信息存储在输入数据寄存器中。这样我们就读到了IO过来的数字信号

3.上拉输入

上拉输入首先是对一个数字信号的读取,其次就是在IO口增加有上拉电阻,在STM32给出的5 V 容忍 I/O 端口位的基本结构图中,上拉输入的路径如图红线所示,此时右侧绿框中上拉电阻接入,红框中下拉电阻断开。
IO此时的电平就是VDD的电平,此时读到的电平为高电平。如果输入了一个高电平,VDD和左侧I/O引脚的电势差为0,I/O口输入或不输入高电平,读取到的电平数据都是高电平,所以不太容易确定有没有电平输入。输入一个低电平时,此时左侧I/O引脚的电平的电平就会变成低电平与VDD形成了电势差,因为有上拉电阻所以不会出现大电流,但此时可以读取到一个低电平。
所以在上拉输入,容易读取低电平但不容易读取高电平
stm32的i/o口,硬件探索之路,stm32,嵌入式硬件,单片机
注意:上拉输入的好处就是输入的电平不会上下浮动而导致输入信号不稳定,在没有信号输入的情况下可以稳定在高电平。

4.下拉输入

下拉输入与上拉输入原理一样,只不过带的是下拉电阻,在STM32给出的5 V 容忍 I/O 端口位的基本结构图中,下拉输入的路径如图红线所示,此时右侧绿框中下拉电阻接入,红框中上拉电阻断开。
IO此时的电平就是VSS的电平,此时读到的电平为低电平。如果输入了一个低电平,VSS和左侧I/O引脚的电势差为0,I/O口输入或不输入低电平,读取到的电平数据都是低电平,到此可以知道和上拉输入是截然相反的。所以在下拉输入,容易读取高电平但不容易读取低电平。唯一的好处就是使得把输入钳在一个明确的低电平,电平信号不会浮动而导致输入信号不稳定。
stm32的i/o口,硬件探索之路,stm32,嵌入式硬件,单片机

5.推挽输出

推挽输出就是利用如图两个不同的MOS管(P-MOS和N-MOS)来实现输出电平,通过PMOS和NMOS通断组合会出现两种情况:
N-MOS导通,P-MOS截至,此时IO口接通在VSS(如图绿色路径),此时输出的是低电平,俗称“灌电流”。
N-MOS截至,P-MOS导通,此时IO口接通在VDD(如图红色路径),此时输出的是高电平,俗称“拉电流”。
另外两种情况暂且不论,感兴趣可参见博文:推挽输出与开漏输出
因为有VDD和VSS,所以输出具有电平反转效率高,电流驱动能力强。

stm32的i/o口,硬件探索之路,stm32,嵌入式硬件,单片机

6.开漏输出

所谓的开漏,如图,我们假设没有PMOS的存在,此时类似于我们直接将IO接到N-MOS的漏极,此时N-MOS的通断有两种状态
1.NMOS导通,相当于外接到VSS,为低电平
2.NMOS截至,类似接无穷大电阻,为高阻态,
这两种情况下在外部加一个上拉电阻(绿框),外部IO就会出现两种情况:
1.NMOS导通,相当上拉电阻一端外接到VSS,外部IO被短路,输出为低电平
2.NMOS截至,相当于将短路部分断开,上拉电阻将外部IO拉高,输出高电平
特点:IO电压不再由内部VDD决定,而是由上拉电阻决定,可以通过上拉电阻部分给定想要的电压,并且可以进行“线与”

更多的开漏和推挽相关的知识参见博文:推挽输出与开漏输出

stm32的i/o口,硬件探索之路,stm32,嵌入式硬件,单片机

7.复用推挽输出

复用推挽就是如果你不想用单片机内部来输出,那么你可以通进行复用,将输出转移到其他外设上面,更改需要开启复用功能和时钟
stm32的i/o口,硬件探索之路,stm32,嵌入式硬件,单片机

8.复用推挽输出

复用开漏就是如果你不想用单片机内部来输出,那么你可以通进行复用,将输出转移到其他外设上面,更改需要开启复用功能和时钟
stm32的i/o口,硬件探索之路,stm32,嵌入式硬件,单片机

总结

另外关于GPIO的速率(2MHz,10MHz,50MHz),很多人认为这个速率就是GPIO的信号输出速率,其实不然,这个速率只是GPIO的硬件响应速率,可以理解为高低电平反转的速率,并不是信号输出速率,信号输出速率受软件影响。文章来源地址https://www.toymoban.com/news/detail-858683.html

到了这里,关于STM32八种I/O口模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式毕设分享 stm32智能鱼缸监控投喂系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年03月17日
    浏览(80)
  • 嵌入式毕设分享 stm32 RFID智能仓库管理系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(74)
  • 【嵌入式】STM32计时器编码器接口模式使用

    使用STM32调试电机或传感器时经常会使用到计数器的编码器接口模式,本文主要记录该模式的固件库配置方法,并给出使用该模式获取光栅测距值的实例。 硬件: STM32F103C8T6 光栅测距传感器 编码器接口模式为STM32计时器的一种特殊使用模式,该模式下可对编码器输出的脉冲信

    2024年02月20日
    浏览(49)
  • STM32 PWM模式与输出比较模式的区别。PWM占空比不生效,在STM32CubeMX中配置PWM的两种模式——蓝桥杯嵌入式

      🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都已更新完毕,欢迎大家前往订阅本专题🎏 🎏【蓝桥杯嵌入式】蓝桥杯第十届省赛真题 🎏【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题 🎏【蓝桥杯嵌入式】蓝桥杯第十三届

    2023年04月15日
    浏览(80)
  • STM32的八种工作模式

    STM32单片机具有高性能、低成本、低功耗的优点,与它打交道就必须先了解它的几种工作模式,它共有八种IO口模式,分别是:模拟输入、浮空输入、上拉输入、下拉输入、开漏输出、推挽输出、复用开漏输出和复用推挽输出。 在这八种工作模式中分为: 1、四种 输入 模式

    2024年02月10日
    浏览(41)
  • STM32八种I/O口模式

    作为两年嵌入式软件攻城狮,还没仔细去理解过STM32的GPIO的八种使用模式,俗话说嵌入式软硬件不分家,软件不懂硬件,出了问题有时候只能“抓虾”,今天有点时间,特此总结一下学过的有关STM32的GPIO模式的硬件知识。 GPIO(general porpose intputoutput):通用输入输出端口的简称,

    2024年04月26日
    浏览(25)
  • 二、STM32的输入输出八种模式

    目录 一.输入模式 1.浮空输入 2.上拉输入 3.下拉输入 4.模拟输入 二.输出模式 1.开漏输出 2.开漏复用输出 3.推挽输出 4.推挽复用输出         默认情况下输入引脚数据为1,高电平。  上拉电阻:把不确定的信号通过电阻连接到高电平,电信号初始化为高电平。 下拉电阻:把不

    2024年02月12日
    浏览(50)
  • STM32 (三)GPIO的八种模式及其原理

    GPIO就是通用I/O(输入/输出)端口,是STM32可控制的引脚。 STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 1. 四种输入模式     GPIO_Mode_IN_FLOATING 浮空输入模式     GPIO_Mode_IPU 上拉输入模式     GPIO_Mode_IPD 下拉输入模式

    2024年02月02日
    浏览(46)
  • STM32F103——GPIO八种工作模式

    目录 1、GPIO 基本结构分析 2、GPIO 八种工作模式 2.1 输入浮空  2.2 输入上拉 2.3 输入下拉 2.4 模拟功能 2.5 开漏输出 2.6 开漏式复用功能 2.7 推挽输出 2.8 推挽式复用功能 3、GPIO 八种工作模式特点及应用  STM32F103的 GPIO 工作有八种模式,但是具体这些模式是怎么实现的?下面我们

    2024年02月14日
    浏览(136)
  • STM32的GPIO端口配置八种模式的理解

    在这张图中,GPIO的配置可以分成8种模式,4种输入,4种输出。 输入分为:模拟输入、浮空输入、上拉输入、下拉输入 输出分为:开漏输出、推挽输出、复用推挽输出、复用开漏输出 模拟输入,一般情况下,用于ADC的采集电压时,配置的输入IO口。在模拟输入中,TTL肖特基触

    2024年01月17日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包