GPIO 浮空输入的理解(已解决)上拉下拉的时候施密特触发器也起作用复用功能也启用,也就是说浮空输入和上下拉输入的信号采集过程电路是一样的,差别仅仅在于默认值,上下拉输入默认值确定,浮空默认值不确定

原子哥:顾名思义,浮空就是 浮在空中.也就是没有什么把他拉下来,也没有什么把它拉上去. 
浮空最大的特点就是电压的不确定性,它可能是0V,也可能是VCC,还可能是介于两者之间的某个值(最有可能). 结论错误2021.1.5
浮空一般用来做ADC输入用,这样可以减少上下拉电阻对结果的影响.2021.1.5

那在ADC采集的时候浮空和模拟输入有什么区别呢?我感觉浮空就是当这个管脚在这一时间不需要使用又不能影响外部时使用,而ADC采集时用模拟。对吗原子哥大?

在AD采集的时候,这两个模式倒是都可以。 
但是在单纯作为输入的时候,浮空模式是有用的,在外部有上拉/下拉的条件下,你可以设置为浮空输入。 
或者IO有冲突的时候(参见mini板的PWM输出实验),你也可以设置为浮空输入,从而完全不干扰其他IO。

浮空输入不是这个意思,浮空输入时,施密特触发器起作用上拉下拉的时候施密特触发器也起作用复用功能也启用也就是说浮空输入和上下拉输入的信号采集过程电路是一样的,差别仅仅在于默认值,上下拉输入默认输入值确定,浮空模式默认值不确定),读取输入结果时,只有0或1两种只是默认值不能确定。可能是0也可能是1有外部信号确定,但是采集的信号是数字量0和1.模拟输入时才是从0到VCC之间变化,这时适合接ADC输入。

 

 

那要是读管脚上的信息时,应该设置为上拉输入还是下拉输入呢?

一般选择上拉.

我对STM32 GPIO输入/输出模式进行了一下总结,请大家指正哪里有问题?
1、输入浮空  输入引脚即不接高电平,也不接低电平,用于标准的通讯协议,比如IIC、USART的等,如果想用做按键检测等功能,需外部使用上拉或下拉电阻;
2. 输入上拉  相当于输入浮空用来按键检测外加上拉电阻,只不过这个是内部上拉,省去了外部电路;
3. 输入下拉  同上; 三者共同点就是都要通过 TTL肖特基触发器 转换成0/1信号。既非高即低。
4. 模拟输入  信号进入后不经过上拉电阻或者下拉电阻,关闭施密特触发器,经由另一线路把电压信号传送到片上外设模块。比如传送给ADC模块,由ADC采集电压信号。所以可以理解为模拟输入的信号是未经处理的信号,是原汁原味的信号。

模拟输入和推挽模式还算对,

其他基本都有误。
开漏模式:输出 0 时,N-MOS 导通,P-MOS 不被激活,输出0。
                  输出 1 时,N-MOS 高阻, P-MOS 不被激活,输出1(需要外部上拉电路);此模式可以把端口作为双向IO使用。
推挽模式:输出 0 时,N-MOS 导通,P-MOS 高阻,输出0。
                  输出 1 时,N-MOS 高阻,P-MOS 导通,输出1(不需要外部上拉电路)。

stm32为什么要上拉或下拉输入啊?
直接输入高低电平不行吗?这个输入的高低电平就直接由外设的电平决定啊?为什么还要用内部的上拉下拉电阻呢?
是因为 外设给出的高低电平信号可能会太弱吗?

 

 

比如我们的按键实验吧,如果没有上下拉输入,你选择浮空输入? 
浮空输入信号电平是不确定的,那么按键你就必须外部加上下拉电阻.那么电阻要不要钱? 
那想省钱怎么办? 
答案不用我说了吧.

 

 


呃 这个解释 还是比较牛叉的。但我的意思是:当外围设备能自己输出高低电平时,那么stm32与它相接的引脚就没有必要配制成上下拉输入了吧?你举例用的是按键,按键自己没法给出高低电平,所以必须得接上下拉电阻。

外设能输出的时候,可以不上下拉。

1 在考虑输出时候,高级点的芯片,可以设置好,为了固定’初值‘。 即明确reset阶段的io电平。 在一些敏感的控制里面, 初值是值得重视的,不然会带来一些’意外‘ 

2 在重视待机功耗的系统里面,必须改变pull up和pull down,使得整体功耗降低。 

3 就是输入时候的’ 初值‘ 

4 看io的设计, 当oc门输出时候,上拉是必须的。 

--- 
个人看法

GPIO(通用输入输出)是一种通用的数字接口,可以用于连接外部设备和处理器。在GPIO中,浮空、模拟、上拉下拉、推挽和开漏是常见的概念。下面我来逐个介绍它们的含义: 1. 浮空(Floating):当一个GPIO引脚处于浮空状态时,它没有连接到任何电源或地,因此其电压状态是不确定的。这种状态常用于输入引脚,可以通过外部电路将其拉高或拉低。 2. 模拟(Analog):模拟GPIO引脚可以接收和发送连续范围内的电压信号,用于处理模拟信号,如声音、光线等。模拟引脚通常需要额外的模数转换器(ADC)和数模转换器(DAC)来实现与数字系统的交互。 3. 上拉(Pull-up):上拉是一种使输入引脚保持高电平(逻辑1)的电路配置。当没有外部信号输入时,上拉电阻将引脚拉高到高电平。 4. 下拉(Pull-down):下拉是一种使输入引脚保持低电平(逻辑0)的电路配置。当没有外部信号输入时,下拉电阻将引脚拉低到低电平。 5. 推挽(Push-pull):推挽输出是一种输出模式,引脚可以提供高电平和低电平的输出。在高电平时,驱动器提供电压源,使引脚保持高电平;在低电平时,驱动器提供接地路径,使引脚保持低电平。 6. 开漏(Open-drain):开漏输出是一种输出模式,引脚可以提供低电平输出,但无法提供高电平输出。在开漏模式下,引脚通过一个开漏晶体管与地连接,当引脚输出低电平时,晶体管导通,引脚被拉低;当引脚输出高电平时,晶体管截断,引脚处于浮空状态。为了实现高电平输出,通常需要外部上拉电阻。 这些概念在GPIO的配置和使用中起着重要的作用,可以根据具体需求选择适合的模式和配置方式。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值