百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

深入分析STM32单片机I/O的8种工作模式

liuian 2025-09-21 18:40 15 浏览

最近有个朋友在设计低功耗设备,用的是STM32的主控,他知道我做过很多类似的超低功耗项目,于是向我咨询了一些问题,其中就包括I/O口的几种工作模式。今天我就详细的来总结一下这几种工作模式,让大家在以后的设计中知其然也知其所以然。

先说说GPIO

在聊这8种工作模式之前,我想先说一下GPIO的概念—通用输入输出 General Purpose Input Output 简称GPIO,就是芯片引脚可以通过它们输出高、低电平,也可以通过他们输入、读取引脚的电压、电平状态。
下面的8种工作模式我将围绕下图进行分析介绍,读懂这一张图大家基本就可以完全理解STM32的GPIO了。希望大家仔细的看一看。

四种不同的输出模式

推挽输出:该模式下引脚可以输出高低电平,可连接、驱动数字器件。对于推挽有部分小伙伴可能不知道是啥意思,其实很简单,就是两个参数相同的NPN、PNP三极管或者NMOS、PMOS管以推挽方式存在于电路中,各负责正负半周波形放大的任务。两只对称管每次只有一个导通,损耗小效率高,既可以提高电路的带负载能力,又可以提高开关速度。电路如下图所示,大家可以到IO内部图里面对比着找一找。

开漏输出:该模式下引脚就相当于连接到了上图NMOS的漏极,PMOS关闭去掉不存在。这时该引脚只能输出低电平,不能输出高电平,需要引脚加上拉电阻,才能得到高电平。这时一定有小伙伴疑惑,这东西没有推挽输出好用啊,错!开漏输出是有一些特别的优点的,比如:1、可用于连接与主控电平不匹配的器件,只需要将上拉电阻的上拉端连接到对方电平即可;2、以小博大,利用外部电路的驱动能力,减小内部电流,内部只需要很小的栅极驱动电流。缺点就是会有上升沿的延时,因为有上拉电阻的原因,这一点大家可以去阅读一下我的上一篇关于电平匹配的文章,里面有介绍。

复用推挽输出、复用开漏输出:顾名思义该模式下就是将引脚复用为其他功能,不再是简单的GPIO。像我们常用的UART、SPI等的输出引脚就是复用的推挽输出,而我们常用的I2C就是复用的开漏输出,这时大家就应该知道为什么我们在用I2C的时候需要上拉电阻了吧。这里给大家埋个伏笔——用I2C时为什么要开漏呢?知道的小伙伴可以在留言区回复,后面有机会分析I2C时我会详细和大家来说。

四种不同的输入模式

浮空输入:这种输入模式一般多用于检测外部高低电平状态,比如按键等。大家结合下面的IO内部图来看,浮空输入时上下拉电阻都没有连接,引脚电平状态不确定,如果引脚悬空时这种模式下读出来的数据是没意义的。

上拉、下拉输入:基本看名字大家就已经知道这种模式是怎么回事了,上图中如果上面红圈电阻接入就是上拉输入,下面红圈电阻接入就是下拉输入。上一段我说过按键输入检测用浮空输入模式,如果用上拉、下拉模式就更简单了,就可以省掉外部的上下拉电阻节约项目成本。

模拟输入:这个模式也是我们非常常用的了,那就是引脚设置为STM32内部ADC的模拟信号输入。值得注意的是这种模式就不是所有的IO都有的功能了,需要带ADC的IO口才可以设置。

补充说明些东西

关于IO引脚内部的两个保护二极管,很久以前看到有人说是用来钳位的,后来我在参加ST的研讨会时问过官方,官方答复说并不是用于钳位的而是用于做ESD保护的。当引脚作为ADC输入的时候我们必须保证输入模拟信号不超过3.6V,5V是不可以的。

上面说了芯片引脚内部有二极管保护,但是我建议大家在做设计时如果引脚引出板外最好格外再加TVS二极管来做加强保护,因为引脚连出板外很容易受静电等外界因素伤害。比如下载接口,我在空间充足的时候都会放上一个SOT-23的TVS二极管来做保护。

总结

到这里大家会发现我今天所讲的都是硬件层面的,而非软件层面上的具体设置。其实如果大家从硬件层面搞懂这几种模式,软件上就简单了,按照datasheet上面的说明进行配置就可以了。

最后来说一下近况,临近年底工作上比较忙,之前说的几个项目都跳票了,实在抱歉。但是大家不要担心,忙过这会我会腾出更多时间投身于开源项目,2020年我给自己制定的目标之一就是做更多的开源项目与大家分享。

最后的最后,感谢支持我淘宝店铺“HACK实验室”的朋友们!

相关推荐

搭建一个20人的办公网络(适用于20多人的小型办公网络环境)

楼主有5台机上网,则需要一个8口路由器,组网方法如下:设备:1、8口路由器一台,其中8口为LAN(局域网)端口,一个WAN(广域网)端口,价格100--400元2、网线N米,这个你自己会看了:)...

笔记本电脑各种参数介绍(笔记本电脑各项参数新手普及知识)

1、CPU:这个主要取决于频率和二级缓存,频率越高、二级缓存越大,速度越快,现在的CPU有三级缓存、四级缓存等,都影响相应速度。2、内存:内存的存取速度取决于接口、颗粒数量多少与储存大小,一般来说,内...

汉字上面带拼音输入法下载(字上面带拼音的输入法是哪个)

使用手机上的拼音输入法打成汉字的方法如下:1.打开手机上的拼音输入法,在输入框中输入汉字的拼音,例如“nihao”。2.根据输入法提示的候选词,选择正确的汉字。例如,如果输入“nihao”,输...

xpsp3安装版系统下载(windowsxpsp3安装教程)

xpsp3纯净版在采用微软封装部署技术的基础上,结合作者的实际工作经验,融合了许多实用的功能。它通过一键分区、一键装系统、自动装驱动、一键设定分辨率,一键填IP,一键Ghost备份(恢复)等一系列...

没有备份的手机数据怎么恢复

手机没有备份恢复数据方法如下1、使用数据线将手机与电脑连接好,在“我的电脑”中可以看到手机的盘符。  2、将手机开启USB调试模式。在手机设置中找到开发者选项,然后点击“开启USB调试模式”。  3、...

电脑怎么激活windows11专业版

win11专业版激活方法有多种,以下提供两种常用的激活方式:方法一:使用激活密钥激活。在win11桌面上右键点击“此电脑”,选择“属性”选项。进入属性页面后,点击“更改产品密钥或升级windows”。...

华为手机助手下载官网(华为手机助手app下载专区)

华为手机助手策略调整,已不支持从应用市场下载手机助手,目前华为手机助手是需要在电脑上下载或更新手机助手到最新版本,https://consumer.huawei.com/cn/support/his...

光纤线断了怎么接(宽带光纤线断了怎么接)

宽带光纤线断了可以重接,具体操作方法如下:1、光纤连接的时候要根据束管内,同色相连,同芯相连,按顺序进行连接,由大到小。一般有三种连接方法,分别是熔接、活动连接和机械连接。2、连接的时候要开剥光缆,抛...

深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
win7旗舰版和专业版区别(win7旗舰版跟专业版)

1、功能区别:Win7旗舰版比专业版多了三个功能,分别是Bitlocker、BitlockerToGo和多语言界面; 2、用途区别:旗舰版的功能是所有版本中最全最强大的,占用的系统资源,...

万能连接钥匙(万能wifi连接钥匙下载)

1、首先打开wifi万能钥匙软件,若手机没有开启WLAN,就根据软件提示打开WLAN开关;2、打开WLAN开关后,会显示附近的WiFi,如果知道密码,可点击相应WiFi后点击‘输入密码’连接;3、若不...

雨林木风音乐叫什么(雨林木风是啥)

雨林木风的创始人是陈年鑫先生。陈年鑫先生于1999年创立了雨林木风公司,其初衷是为满足中国市场对高品质、高性能电脑的需求。在陈年鑫先生的领导下,雨林木风以技术创新、产品质量和客户服务为核心价值,不断推...

aics6序列号永久序列号(aics6破解序列号)

关于AICS6这个版本,虽然是比较久远的版本,但是在功能上也是十分全面和强大的,作为一名平面设计师的话,AICS6的现有的功能已经能够应付几乎所有的设计工作了……到底AICC2019的功能是不是...

win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
手机可以装电脑系统吗(手机可以装电脑系统吗怎么装)

答题公式1:手机可以通过数据线或无线连接的方式给电脑装系统。手机安装系统需要一定的技巧和软件支持,一般需要通过数据线或无线连接的方式与电脑连接,并下载相应的软件和系统文件进行安装。对于大部分手机用户来...