在GPIO控制器中,配置通用输入,读取IO口电平时,上拉和下拉起到什么作用

devtools/2025/2/4 2:57:04/

上下拉电阻作用 在通用输入的时候,也就是在读某个IO的电平的时候 一定要让IO口先保持一个电平状态,这样才能检测到不同电平状态。

如何保持电平状态?

1. 可以通过芯片内部的上下拉电阻,由于是弱上下拉一般不用

2. 硬件外界一个上拉电阻或者下拉电阻

下拉电阻

  • 下拉电阻的作用与上拉电阻相反,它们把IO口的电平拉低到逻辑低电平。
  • 当一个IO口被配置为输入时,并且没有外部连接任何设备时,下拉电阻会将IO口的电平拉低到逻辑低电平,以防止IO口漂浮。
  • 当外部设备将IO口连接到Vcc(逻辑高电平)时,下拉电阻会使IO口保持在逻辑低电平,除非外部设备向IO口输出逻辑高电平,此时IO口将被拉高。

上拉电阻

  • 当一个IO口被配置为输入时,并且没有外部连接任何设备时,上拉电阻会将IO口的电平拉高到逻辑高电平,以防止IO口漂浮,从而确保系统的稳定性。
  • 当外部设备将IO口连接到地时,上拉电阻会使IO口保持在逻辑高电平,除非外部设备向IO口输出逻辑低电平,此时IO口将被拉低。

根据上述描述举例说明

现在我们进行按键输入,按键连接到Vcc高电平,设想没有上下拉电阻,然后我们按下按键为高电阻,当按下可以检测出来为高电平,但是我们如果松开按键,那么就检测不出来,此时称为浮空,此时判断不出按键是否松开,所以我们将下拉电阻打开,它会将IO口拉到低电平,此时读取IO口为低电平,我们再按下按键,因为接到Vcc,所以IO口将被拉高,然后我们如果松开此时IO口会被拉下为低电平


http://www.ppmy.cn/devtools/155884.html

相关文章

Kafka常见问题之 org.apache.kafka.common.errors.RecordTooLargeException

文章目录 Kafka常见问题之 org.apache.kafka.common.errors.RecordTooLargeException: The message is 1,048,576 bytes when serialized which is larger than the maximum request size.1. 错误解析2. 错误原因3. 错误复现案例3.1 生产者发送超大消息 4. 解决方案4.1 方法 1&…

于动态规划的启幕之章,借 C++ 笔触绘就算法新篇

注意:代码由易到难 P1216 [IOI 1994] 数字三角形 Number Triangles 题目链接:[IOI 1994] 数字三角形 Number Triangles - 洛谷 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每…

C#通过3E帧SLMP/MC协议读写三菱FX5U/Q系列PLC数据案例

C#通过3E帧SLMP/MC协议读写三菱FX5U/Q系列PLC数据案例,仅做数据读写报文测试。附带自己整理的SLMP/MC通讯协议表。 SLMP以太网读写PLC数据20191206/.vs/WindowsFormsApp7/v15/.suo , 73216 SLMP以太网读写PLC数据20191206/SLMP与MC协议3E帧通讯协议表.xlsx , 10382…

浅谈Linux 权限、压缩、进程与服务

概述 放假回家,对Linux系统的一些知识进行重新的整理,做到温故而知新,对用户权限管理、文件赋权、压缩文件、进程与服务的知识进行了一次梳理和总结。 权限管理 Linux最基础的权限是用户和文件,先了解基础的用户权限和文件权限…

关联传播和 Python 和 Scikit-learn 实现

文章目录 一、说明二、什么是 Affinity Propagation。2.1 先说Affinity 传播的工作原理2.2 更多细节2.3 传播两种类型的消息2.4 计算责任和可用性的分数2.4.1 责任2.4.2 可用性分解2.4.3 更新分数:集群是如何形成的2.4.4 估计集群本身的数量。 三、亲和力传播的一些…

Python(Pandas)数据分析学习

1.Pandas基本构成 引入Pandas import pandas as pd 1.Series 行 对应Excel中的一行数据,一维数据 定义Series # 第一个参数是具体数据 # 第二个参数的对应的索引下标 # 第三个参数的行名称 data pd.Series([1,2,3,4,5], index[a,b,c,d,e], namedata) print(d…

【力扣】283.移动零

AC截图 题目 思路 遍历nums数组,将0删除并计数,最后在nums数组尾部添加足量的零 有一个问题是,vector数组一旦erase某个元素,会导致迭代器失效。好在有解决办法,erase会返回下一个有效元素的新迭代器。 代码 class …

go单元测试和基准测试

1、单元测试和基准测试 单元测试和基准测试代码开发中的重要环节,良好的单元测试和基准测试,能提升开发质量,对整体开发有非常重要的重要,下面介绍单元测试和基准测试的写法。 2、单元测试和基准测试写法 以排序基本排序算法&a…