floating输入 高阻输入_STM32 GPIO输入输出(基于HAL库)

一、基础认识

GPIO全名为General Purpose Input Output,即通用输入输出。有时候简称为“IO口”。通用,说明它是常见的。输入输出,就是说既能当输入口使用,又能当输出口使用。端口,就是元器件上的一个引脚。

输入模式和输出模式是GPIO的基本特性,当然GPIO还有其它模式可选。

47b3992f000230bb29994970162c3eee.png

(一) IO耐压问题

STM32是一款3.3V电压的芯片,IO输出是3.3V,但IO大部分都是可以容忍5V电压输入。一般在芯片手册的“引脚定义”章节可以查看到有FT标识表示该IO可以容忍5V电压输入。

2e825222ee3464d25f4efbb729010f0e.png

二、在标准库中GPIO的模式

(一)模式汇总

输入模式:

l  浮空输入(GPIO_Mode_IN_FLOATING):引脚电平是真实的外部连接器件电压,电平有不确定性

l  上拉输入 (GPIO_Mode_IPU):默认通过电阻上拉到VCC,不接外部器件时可以读出高电平

l  下拉输入 (GPIO_Mode_IPD):默认通过电阻下拉到GND,不接外部器件时可以读出低电平

l  模拟输入 (GPIO_Mode_AIN):将外部信号直接传输到数模转换通道上

输出模式:

l  开漏输出(GPIO_Mode_Out_OD):只能输出低电平,高电平由电阻上拉决定

l  开漏复用功能(GPIO_Mode_AF_OD):用于外设功能使用

l  推挽式输出(GPIO_Mode_Out_PP):可以输出强高和强低,通常使用该功能控制LED

l  推挽式复用功能(GPIO_Mode_AF_PP):用于外设功能使用

GPIO的基本结构:

1026481afe681ddb2b7a35072b0ecff3.png

TTL肖特基触发器其实可以理解为用肖特基管构成的施密特触发器,作用简单说就是将相对缓慢变化的模拟信号变成矩形(方波)信号,便于后面读取。这里有一个阈值电压的概念,比如从低到高达到多少才会导通,从高到底多少才会关闭。

(二)   浮空输入(GPIO_Mode_IN_FLOATING)

浮空就是逻辑器件与引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构和外部引脚所接的器件决定电平状态。一般实际运用时,引脚不建议悬空,易受干扰。通俗讲就是浮空就是浮在空中,就相当于此端口在默认情况下什么都不接,呈高阻态,这种设置在数据传输时用的比较多。浮空最大的特点就是电压的不确定性,它可能是0V,页可能是VCC,还可能是介于两者之间的某个值(最有可能) 浮空一般用来做ADC输入用,这样可以减少上下拉电阻对结果的影响。

919a34745f1de8ede9e7334762e7acdc.png

(三)  上拉输入 (GPIO_Mode_IPU)

上拉就是把点位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平。电阻同时起到限

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值