【stm32芯片设置解惑】:stm32F103系列的开漏输出和推挽输出的区别

场景:

        大家在开发stm32的时候,不管是标准库开发还是hal库开发,最基础的就是芯片引脚的某某设置,为什么这么设置?这样设置的好处是什么?


问题描述 — 开漏输出和推挽输出的用处和区别

  1. 什么是开漏输出?

        答:开漏输出(Open-Drain Output)是指输出引脚可以连接到负载(通常是电阻和/或其他器件),但无法提供高电平(高电压)信号。

        开漏输出只能提供低电平(低电压)信号,当输出为低电平时,输出引脚与地相连,形成一个开路;当输出为高电平时,输出引脚与负载断开,形成一个开路。因此,要在开漏输出上获取高电平信号,需要通过外部上拉电阻将输出引脚连接到电源电压。

  1. 什么是推挽输出?

        答:推挽输出(Push-Pull Output)是指输出引脚可以提供高电平和低电平信号。推挽输出可以驱动输出引脚的电平从电源电压端(高电平)到地(低电平)进行切换。

        在推挽输出中,输出引脚通过晶体管或集成电路内部的开关元件,可以将电流传递到负载或将电流从负载中断开。这种输出方式可以提供更大的输出电流能力,通常用于驱动较大的负载或需要提供双向电平切换的应用。

        开漏输出只能提供低电平信号,需要外部上拉电阻来获取高电平信号;而推挽输出可以提供高电平和低电平信号,可以直接驱动负载。

优缺点:

开漏输出的优点包括:

  1. 允许多个输出引脚连接到同一个总线上,形成开漏总线。这种配置下,多个设备可以共享总线并以开漏方式输出信号,通过外部上拉电阻实现总线的高电平状态,而每个设备可以通过开漏输出引脚控制总线的低电平状态。这样可以实现多个设备之间的数据传输和协作。

  2. 可以实现电平转换。开漏输出可以与不同电压的设备或电路连接,只需通过适当的上拉电阻即可将输出引脚的信号电平转换为目标电压水平。

  3. 具有较高的抗干扰能力。由于开漏输出在输出低电平时形成一个开路,因此对于外部噪声和干扰信号具有较好的抑制能力。

推挽输出的优点包括:

  1. 可以提供高电平和低电平信号。推挽输出可以直接驱动负载,无需外部上拉电阻。这使得推挽输出更加方便和灵活,特别适用于需要直接控制负载的应用。

  2. 具有较高的输出驱动能力。推挽输出可以提供较大的输出电流,能够驱动较大的负载,如电机、继电器等需要较高电流的设备。

  3. 可以提供更高的输出速度。由于推挽输出具有主动驱动能力,可以快速切换输出电平,适用于需要高速信号传输或需要快速响应的应用。

然而,推挽输出也存在一些缺点:

  1. 推挽输出不能直接形成开漏总线,因为无法提供开漏模式的输出。如果需要实现开漏总线的功能,需要使用其他器件或电路来实现。

  2. 在一些特殊的应用场景中,推挽输出可能会产生较多的功耗,因为在切换输出电平时会有瞬间的电流流动,导致功耗增加。

应用场景:

开漏输出的应用场景包括:

  1. 总线通信:开漏输出可以用于实现多个设备之间的通信总线,例如I2C和SPI等串行通信协议。多个设备可以通过开漏输出引脚共享总线,并通过外部上拉电阻实现总线的高电平状态。

  2. 开关控制:开漏输出可以用于控制开关或触发器等外部器件。通过开漏输出引脚的开路和闭路状态,可以控制外部电路中的开关状态。

  3. 多路选择:开漏输出可以用于多路选择器的控制信号。通过多个开漏输出引脚,可以选择连接到特定输入的信号源。

  4. 电平转换:开漏输出可以用于不同电压之间的电平转换。通过适当的上拉电阻,可以将开漏输出引脚的信号电平转换为目标电压水平。

推挽输出的应用场景包括:

  1. 数字信号驱动:推挽输出可以用于驱动数字信号的负载,例如LED灯、继电器、电机等。推挽输出可以提供足够的输出电流来驱动这些负载。

  2. 并行总线:推挽输出可以用于并行总线的实现,例如数据总线和地址总线。多个推挽输出引脚可以同时提供高电平和低电平信号,实现并行数据传输。

  3. 脉冲信号:推挽输出可以用于生成脉冲信号,例如时钟信号、触发信号等。推挽输出可以快速切换输出电平,实现精确的时间控制。

  4. 驱动高负载:推挽输出具有较高的输出电流能力,适用于需要驱动较大负载的应用,如电机驱动、功率放大器等。

需要根据具体的电路设计要求和应用需求来选择适当的输出模式,开漏输出和推挽输出在不同的应用场景中发挥着重要的作用。


GPIO八种模式:

 

        具体的还需大家自行探索,去实际的体验一下,各个方式的区别和好处。


长风破浪会有时,直挂云帆济沧海

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

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

相关文章

FPGA实现HDMI输入转SDI视频输出,提供4套工程源码和技术支持

目录 1、前言免责声明 2、我目前已有的SDI编解码方案3、设计思路框架核模块解析设计框图IT6802解码芯片配置及采集ADV7611解码芯片配置及采集silicon9011解码芯片配置及采集纯verilog的HDMI 解码模块RGB888转YUV422SPMTE编码SDI模式图像缓存SPMTE SDIGTXGV8500 4、vivado工程1-…

途虎养车上市、京东养车“震虎”,如何突围汽车后市场?

“汽车后市场第一股”终于来了! 赶在十一黄金周之前,途虎养车股份有限公司(09690.HK,下称“途虎养车”)于9月26日挂牌港交所,开盘价为28港元/股,与发行价持平;IPO首日报收29.50港元/股,涨幅5.3…

机器学习笔记 - 基于pytorch、grad-cam的计算机视觉的高级可解释人工智能

一、pytorch-gradcam简介 ​Grad-CAM是常见的神经网络可视化的工具,用于探索模型的可解释性,广泛出现在各大顶会论文中,以详细具体地描述模型的效果。Grad-CAM的好处是,可以在不额外训练的情况下,只使用训练好的权重即可获得热力图。 1、CAM是什么? CAM全称Class Activa…

在PyCharm中添加anaconda环境

本文略过创建anaconda环境的部分~ 下文默认anaconda环境已经创建好 1. 点击新建项目 2. 1)修改项目名称 2)选择 “Previously configured interpreter” 曾经配置的解释器 3)选择“Add Interpreter” 添加新的解释器 3. 选择 “A…

asp.net电影院选座系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net电影院选座系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net电影院选座系统1 二、功能介…

记录极致CMS非富文本标签调用不改变格式

问题 在前台如何输出这三行是换行的 前台调用{$jz[hhl]}就变成这样了“这是第一行这是第二行这是第三行” 除了富文本还有没有什么可以实现这样的呢? 方法 {foreach explode("\n",$jz[hhl]) as $v} {if($v)} {$v} {/if} {/foreach}

航拍飞行器经营商城小程序的作用是什么

航拍人群越来越越多,一款靠谱的装备往往能达到预期效果,随着互联网信息传播度加深,也吸引了大批同样的爱好者加入航拍序列。 对航拍飞行器企业/经营商来说,市场增幅下也带来了不少商机,然在实际销售及客户赋能方面还是…

常用排序算法详解

1.冒泡排序原理示例代码实现 2.快速排序原理示例代码实现 3.插入排序原理示例代码实现 4.希尔排序原理示例代码实现 5.选择排序原理示例代码实现 6.堆排序原理示例代码实现 7.归并排序原理示例代码实现 本文讲述了常见的排序算法的执行过程,有详细实现过程举例 1.冒…

git+码云提交PR流程记录

前提条件:注册码云账号,本地安装git 如果不知道怎么注册和安装,可以参考gitgitee入门教程(https://bbs.huaweicloud.com/forum/thread-55222-1-1.html) 登录自己的码云账号 登陆了之后,在码云上打开目标项…

项目需求分析5大常见问题及解决方案

需求分析过程中,往往容易导致需求不准确和不完整,引起需求频繁变更,导致项目进度延误和成本增加;而需求分析的误解问题,导致交付产品无法满足客户期待,降低用户满意度和资源浪费。 那么在需求分析中&#x…

力扣第404题 左叶子之和 c++ 递归 与 迭代解法

题目 404. 左叶子之和 简单 给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24示例 2: 输…

asp.net饭店订餐管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio计算机设计定制

一、源码特点 asp.net 饭店订餐管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语 言开发 asp.net饭店订餐系统 二、功能介…

设计模式 - 访问者模式

目录 一. 前言 二. 实现 三. 优缺点 一. 前言 访问者模式,即在不改变聚合对象内元素的前提下,为聚合对象内每个元素提供多种访问方式,即聚合对象内的每个元素都有多个访问者对象。访问者模式主要解决稳定的数据结构和易变元素的操作之间的…

Unity实现设计模式——策略模式

Unity实现设计模式——策略模式 策略模式是一种定义一些列算法的方法,这些所有的算法都是完成相同的工作,只是实现不同。它可以通过相同的方式调用所有的算法,减少各种算法类与使用算法类之间的耦合。 策略模式的 Strategy 类层次为 Contex…

放大招,百度文心大模型4.0正在加紧训练,即将发布

插播一条快讯! 刚刚看到一篇报道,说百度正在加紧训练文心大模型4.0!百度5月发布了文心大模型3.5,才4个多月又要发布4.0了,这迭代速度简直了。据说这次发布将在10月17日百度世界大会上进行&am…

NeurIPS 2023 | 李飞飞团队提出SiamMAE:孪生掩码自编码器,刷榜视觉自监督方法

在计算机视觉领域,想要建立图像和场景(scene)之间之间的对应关系是一项比较困难的任务,尤其是在存在遮挡、视角改变或是物体外观发生变化的情况下。 最近,斯坦福大学李飞飞团队对MAE进行扩展,提出了孪生掩…

Tensorflow入门之 Hello World

Tensorflow入门之 Hello World 简介 Tensorflow 是 Google 开源的深度学习框架,来自于 Google Brain 研究项目,在 Google 第一代分布式机器学习框架 DistBelief 的基础上发展起来。 Tensorflow 的官方网址 http://www.tensorflow.org Tensorflow 的 G…

基于边缘网关的智慧工地监测方案

边缘物联网技术为千行百业赋能,依托边缘计算的低延时、高效率、广适用优势,也为工程建设产业带来新的增长动力。 例如在智慧工地应用中,围绕建设施工过程中的人员、设备、环境等要素,利用边缘计算网关构建全面的数据采集、分析、联…

web3.0时代分布式网络协议的异同

Web3.0时代标志着分布式网络协议的兴起,其中IPFS(InterPlanetary File System)和NDN(Named Data Networking)是备受瞩目的项目。尽管它们都属于分布式网络协议领域,但在多个方面存在显著区别。以下是IPFS和…

WebSocket ----苍穹外卖day8

介绍 实现步骤 各个模块详解 OnOpen OnOpen:标记一个方法作为处理WebSocket连接打开的方法 当一个客户端与服务器建立 WebSocket 连接时,服务器会接收到一个连接请求。一旦服务器接受了这个连接请求,一个 WebSocket 连接就会被建立。这时,被…