当前位置: 首页 > news >正文

STM32 GPIO的几种工作模式

1、模拟输入
I/O口当作input使用,并且是模拟输入。模拟状态下用来接收模拟量(电压值),一般用于AD采集。
2、浮空输入
没有上拉和下拉电阻,当引脚没有和外部电路连接时,I/O端口的电平是不确定的,即使外部的一个很小的输入信号都会使其发生变化。
3、上拉输入
引脚内部有一个上拉电阻通过开关连接到电源VDD,当引脚没有和外部电路连接时,设置上拉输入的引脚为高电平
4、下拉输入
引脚内部有一个下拉电阻通过开关连接到地GND,当引脚没有和外部电路连接时,设置上拉输入的引脚为低电平
5、开漏输出
1 输出端相当于三极管的集电极,要得到高电平需要(外部)上拉电阻才行,适合于做电流型的驱动
2、般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。比如加上上拉电阻就可以提供TTL/CMOS电平输出等。(上拉电阻的阻值决定了逻辑电平转换的速度。阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。)
3、可以将多个开漏输出连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成”与逻辑”关系,即”线与”。可以简单的理解为:在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路”相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。
4、开漏输出就是不输出电压,低电平时接地,高电平时不接地。如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电源电压。这种方式适合在连接的外设电压比单片机电压低的时候。输出端出跟集电极开路十分相似,工作原理也是一样的。不同的是,开漏输出使用的场效应管,使用时要加上拉电阻。

6 推挽输出
推挽输出可以输出高、低电平,连接数字器件
关于推挽输出和开漏输出,用一幅最简单的图形来概括:该图中左边的便是推挽输出模式,其中比较器输出高电平时下面的PNP三极管截止,而上面NPN三极管导通,输出电平VS+;当比较器输出低电平时则恰恰相反,PNP三极管导通,输出和地相连,为低电平。右边的则可以理解为开漏输出形式,需要接上拉。

这里写图片描述

7 复用开漏输出
GPIO被用作第二功能

8 复用推挽输出

GPIO被用作第二功能

相关文章:

  • STM32高级定时器(1)
  • STM32 高级定时器(2)
  • C语言指针基础
  • 指针与二维数组
  • 单链表的学习
  • 单链表的排序+手机通讯录源码
  • QT模式对话框
  • Qlable显示文本和图片
  • 工具按钮QToolButton
  • 组合框
  • 单行文本框+按钮实现用户登录
  • 勾选复选框后执行某一个操作
  • 点击按钮显示hello world
  • 文件对话框---做一个简单的文本编译器(1)
  • 系统调用与用户接口API
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【Leetcode】104. 二叉树的最大深度
  • 【附node操作实例】redis简明入门系列—字符串类型
  • chrome扩展demo1-小时钟
  • download使用浅析
  • emacs初体验
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Java的Interrupt与线程中断
  • mysql 数据库四种事务隔离级别
  • Python实现BT种子转化为磁力链接【实战】
  • 缓存与缓冲
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 浅谈web中前端模板引擎的使用
  • 使用common-codec进行md5加密
  • 通过几道题目学习二叉搜索树
  • 正则表达式
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #include<初见C语言之指针(5)>
  • #includecmath
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (Python第六天)文件处理
  • (vue)页面文件上传获取:action地址
  • (三)终结任务
  • (十一)图像的罗伯特梯度锐化
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .aanva
  • .NET 分布式技术比较
  • .NET 命令行参数包含应用程序路径吗?
  • .NET 设计一套高性能的弱事件机制
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件