3-GPIO八大输出模式 推挽输出 与 开漏输出

推挽输出 与 开漏输出

GPIO有八大输出模式

下图为每个GPIO口的基本结构:

在这里插入图片描述

通过这张图来学习

在这里插入图片描述

最右侧是I/O引脚,是从STM32引脚到GPIO口的导线,与其他芯片进行连接的线。

芯片内部电路所能承受的电压有限,当未知的静电进入GPIO口,大于所能承受的电压,就会被上方的保护二极管导通,将电压引入电源,由电源网络吸收,当波动电压小于VSS(0V)时,下方保护二极管被导通,波动电压被引入GND中吸收。此结构只能抵御一瞬间的电压波动,若较长的高电压导入芯片,会损坏芯片

寄存器 —— 程序与电路之间的"桥梁"

在这里插入图片描述

既能写。也能读。控制单片机,就是控制寄存器。

输出驱动器

在这里插入图片描述

输出控制模块 控制两个MOS ,P_MOS 和 N_MOS,起作用可以简化为两个被控制的开关。

VDD 3.3V高电平 VSS 0V的低电平。

STM的输出模式分为两类:推挽输出 和 开漏输出

在这里插入图片描述

在I/O引脚加一个工作电压为3.3V的小灯泡,另一端接地,则我们可以使用推挽输出模式,此模式下。P-MOS与N-MOS协同工作

当我写下代码

HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_SET);

函数内部对相关寄存器的数据进行了修改,从写入一端直达输出控制模块,导致P-MOS激活,N-MOS关闭

此时VDD与小灯形成通路,小灯亮起。

在这里插入图片描述

当我们写下代码

HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_RESET);

函数内部对相关寄存器的数据进行了修改,从写入一端直达输出控制模块,导致P-MOS关闭,N-MOS激活

此时VSS与小灯相连,小灯关闭。
在这里插入图片描述

以上控制P-MOS 和 N-MOS的模式就称为推挽输出,特点:具有一定的电压与电流驱动能力,可以直接驱动一些合适的元件工作。

当小灯泡的工作电压为5V时,推挽输出提供的3.3V电压就达不到要求,无法驱动小灯正常工作。

在这里插入图片描述

此时就是开漏输出的用武之地,

开漏输出模式下,P-MOS一直处于关闭状态,根本不会用到内部电压,只控制N-MOS来控制小灯。显然此时控制小灯无论N-MOS处于何种状态都无法控制,此时需要将GND改为接一个外部电源(5V)来自外部的灌电流即可用N-MOS控制小灯亮灭。

在这里插入图片描述

当我们写下代码

HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_SET);

控制GPIO口输出高电平,则N-MOS断开,整个I/O口处于断路状态,小灯熄灭。

当我们写下代码

HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_RESET);

控制GPIO口输出低电平,则N-MOS连接,整个I/O口处于通路状态,小灯亮起。特点:更加灵活。

  • 注意,需要将上方的保护二极管设为5v容忍

在这里插入图片描述

对于输入,不仅可以通过控制寄存器来控制输出控制模块,也可以通过片上外设,如串口模块,I2C模块进行控制。

在这里插入图片描述

根据不同的组合分为了,普通的推挽输出开漏输出,和复杂的 复用推挽输出复用开漏输出

回到第一幅图的上半部分,正常状态下为浮空输入,两个电阻都不会启用。

在这里插入图片描述

类似的,当我们设置上拉输入时,上拉电阻启用

在这里插入图片描述

设置下拉输入时,下拉电阻启用

在这里插入图片描述

电流继续前进,会进入TTL肖特基触发器,其作用是稳定电平

在这里插入图片描述

模拟输入:使用模拟输入读取到I/O引脚的电压值,会用到ADC

对于复用功能输入,接入了列如串口模块等须要数字,输入的片上外设,与输出部分只能有一个控制源不同的是,输入部分的不同分支可以同时读取施密特触发器的输出,就不存在复用上拉输入等模式,而是在片上外设上也使用普通的输入模式即可。

上述就是GPIO的八大输入输出模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/443951.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DBMS-3.3 SQL(3)——DML的INSERT、UPDATE、DELETE空值的处理DCL

本文章的素材与知识来自李国良老师和王珊老师。 DML——INSERT、UPDATE、DELETE 一. INSERT 1.语法 (1)INTO子句 (2)VALUES子句 (3)示例 2.插入子查询 若插入的是子查询则不需要VALUES子句 二. UPDATE …

一款电子产品图册转换器

​随着科技的不断发展,电子产品已经成为我们生活中不可或缺的一部分。无论是手机、平板电脑还是智能家居,它们都离不开电子图册的支撑。一款优秀的电子产品图册转换器,可以帮助我们轻松实现电子图册的转换,为我们的生活和工作带来…

还在为Python“运算符”中遇到的BUG而发愁吗?,变量相关的问题和解决办法看这篇文章就够了!

博客主页:长风清留扬-CSDN博客系列专栏:Python疑难杂症百科-BUG编年史每天更新大数据相关方面的技术,分享自己的实战工作经验和学习总结,尽量帮助大家解决更多问题和学习更多新知识,欢迎评论区分享自己的看法感谢大家点…

[SAP ABAP] LIKE TABLE OF

LIKE TABLE OF语句是用来参照结构体(工作区)对象定义内表数据类型的语句 在SAP ABAP中有标准表&#xff0c;排序表和哈希表三种内表数据类型 *定义标准表 DATA: <ty_tab_standard_name> LIKE [STANDARD] TABLE OF <dtype> [WITH NON-UNIQUE KEY <k1 k2 ... kn…

移动app的UI和接口自动化测试怎么进行?

标题&#xff1a;从0到1&#xff1a;移动App的UI和接口自动化测试 导语&#xff1a;移动App的快速发展使得UI和接口自动化测试成为了确保应用质量的重要环节。本文将从零开始介绍移动App的UI和接口自动化测试的基本概念以及如何进行测试。 第一部分&#xff1a;了解移动App自动…

MSYS2+GCC 安装与应用保姆手册

msys2 提供可在Windows下使用 GCC 编译器&#xff1b;并且&#xff0c;借助 Linux 包管理功能&#xff0c;可轻松下载丰富的可在Windows下直接使用的 C/C 开发包&#xff0c;包括编译好的二进制包。 网络库asio、准标准库boost、zip解压缩、json格式处理、引擎 SDL……十八般兵…

i春秋云境靶场之CVE-2022-26965

1.环境搭建 提示我们后台存在rce,也就是命令执行漏洞 2.访问环境 cm - cmshttp://eci-2zeh0yf0ohu88wr26unq.cloudeci1.ichunqiu.com/ 我们可看到admin,我们点击&#xff0c;发现是一个登录页面&#xff0c;我们输入弱口令admin,登录成功 3.文件上传 我们在选项——选择主题…

构造器和UML类图

1.构造器 1.1 详解 类的成员&#xff1a;构造器 构造器的作用 初始化对象&#xff1a;构造器用于设置对象的初始值&#xff0c;确保对象在创建时是有效的。提供灵活性&#xff1a;可以重载构造器&#xff0c;以便在创建对象时提供不同数量或类型的参数&#xff0c;从而支持…

[CR]厚云填补_条件扩散模型用于SAR到光学图像转换

Conditional Diffusion for SAR to Optical Image Translation Abstract 合成孔径雷达(SAR)提供全天候、全天高分辨率成像&#xff0c;但其独特的成像机制往往需要专家解释&#xff0c;限制了其广泛的适用性。为了应对这一挑战&#xff0c;提出了一个生成模型&#xff0c;该模型…

如何制作低代码开发的视频教程?

如何制作低代码开发的视频教程&#xff1f; 随着数字化转型的加速&#xff0c;越来越多的企业和组织开始采用低代码开发平台来加速应用程序的构建。对于许多开发者和业务人员来说&#xff0c;学习如何使用这些平台可以显著提高工作效率。因此&#xff0c;创建一份清晰、实用且…

JavaScript进阶--作用域-函数进阶

Javascript进阶 作用域 分类 局部 函数 >执行完变量被清空块 >用{}包住 >有可能被无法访问 【用var声明的变量】 全局 > 在script标签和.js文件最外层进行声明 作用域链 最底层的变量查找机制 > 在函数被执行时&#xff0c;会优先查找当前函数作用域中查找…

路径跟踪之导航向量场——二维导航向量场

今天带来一期轨迹跟踪算法的讲解&#xff0c;首先讲解二维平面中的导航向量场[1]。该方法具有轻量化、计算简便、收敛性强等多项优点。该方法根据期望的轨迹函数&#xff0c;计算全局位置的期望飞行向量&#xff0c;将期望飞行向量转为偏光角&#xff0c;输入底层控制器&#x…

【STM32单片机_(HAL库)】4-5-3【定时器TIM】【感应开关盖垃圾桶项目】项目实现

1.项目需求 以下几个事件触发时&#xff0c;垃圾桶自动开盖&#xff0c;并伴随蜂鸣器短响一声&#xff0c;同时 LED 灯闪烁一下&#xff0c;2秒后自动关盖&#xff1a; 检测到有人靠近检测到有震动按下按键 KEY1 2.硬件 STM32单片机最小系统震动传感器模块蜂鸣器模块&#…

CentOS 6文件系统

由冯诺依曼在 1945 年提出的计算机五大组成部分&#xff1a;运算器&#xff0c;控制器&#xff0c;存储器&#xff0c;输入设 备&#xff0c;输出设备。 1. 硬盘结构&#xff1a; &#xff08;1&#xff09;机械硬盘结构&#xff1a; 磁盘拆解图&#xff1a; 扇区&#xff0c;…

研发中台拆分之路:深度剖析、心得总结与经验分享

背景在 21 年&#xff0c;中台拆分在 21 年&#xff0c;以下为中台拆分的过程心得&#xff0c;带有一定的主观&#xff0c;偏向于中小团队中台建设参考&#xff08;这里的中小团队指 3-100 人的团队&#xff09;&#xff0c;对于大型团队不太适用&#xff0c;毕竟大型团队人中 …

UGUI(六大UI根基组件)

Rect Transform 各种参数 是显示pos还是width/height 还是left/top/right/bottom之类巴拉巴拉&#xff0c;各种混合的展示baby&#xff0c;都是看anchor的设置 pivot的设置影响具体数值 至于blueprint mode &#xff0c;就是用了之后框框不变&#xff0c;who wanna do thi…

理解PID(零)——什么是PID

PID控制器是一种广泛用于各种工业控制场合的控制器&#xff0c;它结构简单&#xff0c;可以根据工程经验整定参数Kp,Ki,Kd. 虽然现在控制专家提出了很多智能的控制算法&#xff0c;比如神经网络&#xff0c;模糊控制等&#xff0c;但是PID仍然被广泛使用。常见的PID控制器有位置…

开源全文搜索(搜索引擎)

吃水不忘挖井人&#xff0c;介绍Doug Cutting大牛是十分有必要的。 最早&#xff0c;接触到搜索引擎&#xff0c;知道有个Nutch&#xff08;开源搜索引擎&#xff09;&#xff0c;于是开始查看Nutch相关的资料&#xff0c;发现了Nutch的创始人Doug Cutting&#xff0c;随着项目…

初创公司首选HR软件推荐与功能解析

初创企业需HR软件自动化招聘、文书、日常任务及合规管理&#xff0c;提升效率。ZohoPeople是理想选择&#xff0c;性价比高&#xff0c;版本多样&#xff0c;满足不同需求。 1、简化招聘流程 您一直在寻找杰出的人才&#xff0c;以助您的初创企业飞跃发展。您选择的HR软件应该…

Python数字图像处理实战——基于OpenCV实现多种滤波器(附完整代码和结果图)

Python数字图像处理实战——基于OpenCV实现多种滤波器&#xff08;附完整代码和结果图&#xff09; 关于作者 作者&#xff1a;小白熊 作者简介&#xff1a;精通python、matlab、c#语言&#xff0c;擅长机器学习&#xff0c;深度学习&#xff0c;机器视觉&#xff0c;目标检测…