一、GPIO功能

1、输入浮空模式

   浮空输入状态下,STM32读到的电平只根据IO端口的电平有关,如果不连接确定电平负载该引脚的电压也是不确定的

2、输入上拉模式

开启上拉时引脚默认电压为高电平,开启下拉时引脚默认电压是低电平

3、输入下拉模式

开启上拉时引脚默认电压为高电平,开启下拉时引脚默认电压是低电平

4、模拟输入模式

GPIO的引脚用于ADC电压采集的输入通道时,需要将GPIO设置为模拟输入模式
注意:除ADC和DAC要将IO配置为模拟通道其他外设功能一律要将IO配置为复用功能模式

5、开漏输出模式

如果微控制器要输出0,可以从IO口直接输出低电平,但如果微控制器想控制要输出1,那么如果电路上没有额外加上拉电阻,就不能输出高电平
注意:开漏输出模式,输出电流的能力比推挽输出弱,在一些对输出电流要求不太高且低功耗的项目中可能会用到


6、推挽输出模式



7、开漏复用输出模式

和开漏输出差不多,区别如下

8、复用推挽输出

9、推挽输出与开漏输出对比

一般采用推挽输出


二、GPIO的5种应用模式


三、上下拉电阻

1、上拉电阻

上拉电阻在引脚外建立了一套额外的电路,保证即使在开关断路的情况下,引脚也能被拉至高电平。这里的电阻只是简单的固定值电阻,连接在电源和适当的引脚之间。当开关断开时,引脚电压被上拉至Vcc;当开关闭合时,引脚电压被下拉到地。

如果不使用上拉电阻,则会导致电路短路。这是因为引脚是不能直接接地或短路Vcc的,这样会造成电路的损坏。

2、下拉电阻

当外部设备断开或为高阻抗时,下拉电阻可以确保引脚的输入是稳定的低电平。当按下开关时,逻辑电平变成高电平,这时有少量电流流经5V到地,从而防止引脚与5V电源短路。

3、注意事项

在选择上拉电阻的时候,有两个需要考虑的注意事项:

功耗:按下开关时,输入引脚被拉低。如果电阻值太低,大电流将流过上拉电阻,会导致设备发热,功耗增加,对于低功耗的项目应始终避免这种情况的发生。
漏电流:当未按下按钮时,输入引脚被拉高,上拉电阻的大小控制着输入引脚上的电压。引脚的漏电流流过高阻值的上拉电阻会分走部分电压,导致输入电压变小。
根据以上两个条件,对于上拉电阻,需要使用至少比输入引脚阻抗值小10倍的电阻。对于工作在5V的逻辑器件,典型的上拉电阻值应在1-5kΩ之间。另一方面,对于开关和电阻传感器,典型的上拉电阻值应在1-10kΩ之间。对于下拉电阻,其电阻应始终大于逻辑电路的阻抗。否则过大的电流将导致电压下降太多,使得引脚上的输入电压保持恒定的逻辑低值(不论开关是打开还是关闭)。

STM32_GPIO口相关推荐

  1. (九)单片机串行口 内部结构的讲解 01

    1. 基本概念 常用于数据通信的传输方式有单工.半双工.全双工和多工方式. 单工方式:数据仅按一个固定方向传送.因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集. 半双工方 ...

  2. pci串口驱动安装失败_TSC TTP-243E Pluse装LTP并口驱动无法安装

    一.前言描述 接到客户报修说,电脑无法开机,即到哥上门维修立即安排人员到现场查看原因,到现场后,查看的确是电脑系统问题,重新安装系统,安装完成系统后,发现打印机无法使用.这个打印机型号是TSC TTP ...

  3. 老李推荐:第14章4节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-装备ViewServer-端口转发 1...

    老李推荐:第14章4节<MonkeyRunner源码剖析> HierarchyViewer实现原理-装备ViewServer-端口转发 在初始化HierarchyViewer的实例过程中, ...

  4. 【TX2】TX2开发板系统默认串口有ttyS0(调试口)、ttyTHS1、ttyTHS2、ttyTHS3,通过修改设备树文件,可以新增三个串口

    1.简述 TX2开发板系统默认串口有ttyS0(调试口).ttyTHS1.ttyTHS2.ttyTHS3,通过修改设备树文件,可以新增三个串口. 2.设备树 设备树中关于串口部分的描述 2.1 基础配 ...

  5. ospf 环回口的路由条目_OSPF (4)

    任务一:特殊区域 R1-R8之间的基本配置与R1-R5之间的ospf已经配置完成 在完成下列配置之前,要先配好各物理接口地址和环回口(loopback)地址 R1-R8的loopback0 互通 R1 ...

  6. 接口设计文档_app端接口用例设计方法和测试方法(一)

    前言 接口测试作为测试的重要一环,重点关注的是数据层面的输入输出,今天小编介绍一种常用的接口测试用例设计方法和测试方法,希望对大家有所帮助,由于内容较多,分三次给大家讲解,今天先介绍"请求层 ...

  7. 使用Zabbix通过BMC管理口监控HP服务器

    概述 本文的环境:Zabbix版本为3.4,一台Server,一台Porxy,一台agent.Porxy主动抓取agent的状态并sender到Server. 首先需要保证服务器的BMC口能够联网,并 ...

  8. H3C ER3260通过Console口重装软件修复路由器

    公司在用的H3C ER3260路由器突然罢工,所有LAN.WAN口均无反应,但加电正常,初步判断硬件应该是好的,联系维修要价500,新买一个2000+,于是决定自己修下看. 通过配置线连接Consol ...

  9. 脱口秀演员入职华为?破案了:人家还是博士后研究员

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 整理 | 于轩 出品 | 程序人生 (ID:coder _life) ...

最新文章

  1. lucene-solr本地调试方法
  2. 1055 The World‘s Richest (25 分)【难度: 一般 / 知识点: 多关键字排序】
  3. eclipse查看git地址_git下载及使用
  4. Step by step to create time dependent view
  5. EBS业务学习之应收管理
  6. linux svn pacman,【图片】manjaro Linux 中的etc pacman.conf设置错误了,谁发个默认的我看看,谢谢大佬们了_manjaro吧_百度贴吧...
  7. atitit 提升数据库死锁处理总结
  8. python神经网络库识别验证码_基于TensorFlow 使用卷积神经网络识别字符型图片验证码...
  9. 网页设计\网页制作常用软件大全
  10. C#之CAD二次开发笔记(1) 开发环境测试
  11. win7安装Android Studio
  12. 一个管理系统实体联系图
  13. 计算机屏幕刷新频率,屏幕刷新率多少合适,教您电脑屏幕刷新率多少合适
  14. Git(七)——删除历史版本,保留当前状态
  15. 道哥:三十年后,我终于学会了读书
  16. MySQL高级篇知识点——MySQL 事务日志
  17. Codeforces Problemset
  18. 基于FME的水库功能分区生态红线批量处理方案(从文本到gdb)
  19. echart柱状图偏移位置设置
  20. Golang import 三种特殊形式:下划线、点、别名-from-csdner-9命怪猫

热门文章

  1. 2021年中国蛋鸡养殖设备市场趋势报告、技术动态创新及2027年市场预测
  2. 大学计算机实验在林学的应用,大学计算机实验6实验报告.pdf
  3. php能开发管理系统吗,PHP《个人管理系统》希望大家一起来开发
  4. 近7成开发者无开源收入、最想操作系统开源、Java最受欢迎 | 揭晓中国开源开发者现状...
  5. 图文分析:如何利用Google的protobuf,来思考、设计、实现自己的RPC框架
  6. Flutter 即将占领整个 Web 开发
  7. 这几款 JVM 故障诊断处理工具,你还不会?
  8. 机器人也开始怕疼了?科学家开发无需人工干预即可自愈的机器人
  9. 如何防止MySQL索引失效?
  10. 百度智能云发布『乘风』 端云一体化方案 助力人脸应用10分钟落地