GPIO输入输出模式详解

GPIO的模式分为8种,输入模式:浮空输入、上拉输入、下拉输入、模拟输入;输出模式:推挽输出、开漏输出、推挽复用输出、开漏复用输出。下面对这8种模式的工作过程进行详细阐述。

1.输入模式

1.1 上拉输入

上拉输入模式

高电平(默认)从I/O引脚输入,经过保护二极管,到达上拉电路,将信号拉高后(此时上拉电路连接,下拉电路断开),在经过TTL肖特基触发器(也称施密特触发器),将模拟信号,转化为单片机能识别的数字信号(数字信号:0  or 1),传输到输入数据寄存器,供单片机读入。

1.2 下拉输入

下拉输入模式

低电平(默认)从I/O引脚输入,经过保护二极管,到达下拉电路,将信号拉低后(此时下拉电路连接,上拉电路断开),在经过TTL肖特基触发器,将模拟信号,转化为单片机能识别的数字信号,传输到输入数据寄存器,供单片机读入。

1.3 浮空输入

浮空输入模式

浮空输入:即引脚不接高电平也不接低电平,即输入引脚浮空,引脚电压不确定时使用,通常用于USART。

电平从I/O引脚输入,经过保护二极管,直接到达TTL肖特基触发器(上拉、下拉都断开),将模拟信号,转化为单片机能识别的数字信号,传输到输入数据寄存器,供单片机读入。

1.4 模拟输入

模拟输入模式

电平从I/O引脚输入,直接到达模拟输入致片上外设,期间上拉电路、下达电路和TTL肖特基触发器都相当于断开的状态。主要用于ADC转换。

2.输出模式

2.1 开漏输出

开漏输出模式

使用开漏输出时(P-MOS断开不能使用),输出寄存器为低电平时,经过输出控制电路(内部是一个反相电路)变成一个高电平,N-MOS导通(相当于I/O和vss相连),低电平从I/O引脚输出,输出寄存器为高电平时,P-MOS和N-MOS都是截止状态,电平无法通过,想要输出高电平需要外接上拉电阻。开漏输出适用于电平不匹配场合。

2.2 开漏复用输出

开漏复用输出模式

开漏复用输出模式与开漏输出模式相似,只是开漏复用的电平来自片上外设,不经过输出数据寄存器,同样只能输出低电平,想要输出高电平需要外接上拉电阻。一般用于发送、接受以及信号时钟。

2.3 推挽输出

推挽输出模式

推挽输出模式可以输出高电平也可以输出低电平,输出数据寄存器输出为高电平时,经过输出控制电路反相,变成低电平,P-MOS导通,N-MOS截止,输出接到VDD,输出高电平;出数据寄存器输出为低电平时,经过输出控制电路反相,变成高电平,P-MOS截止,N-MOS导通,输出接到Vss,输出低电平

2.4推挽复用输出

推挽复用模式

推挽复用输出模式与推挽输出模式相似,只是推挽复用的电平来自片上外设,不经过输出数据寄器。一般用IIC。

  • 12
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GPIO输入输出有多种模式,包括: 1. 模拟输入模式GPIO_Mode_AIN):用于接收模拟信号的输入。 2. 浮空输入模式GPIO_Mode_IN_FLOATING):输入不连接到任何电源或地,可以通过外部电路来控制输入。 3. 下拉输入模式GPIO_Mode_IPD):输入连接到地,通过外部电路上拉电阻来控制输入。 4. 上拉输入模式GPIO_Mode_IPU):输入连接到电源,通过外部电路下拉电阻来控制输入。 5. 开漏输出模式GPIO_Mode_Out_OD):输出为开漏结构,可以通过外部电路连接到其他设备。 6. 推挽输出模式GPIO_Mode_Out_PP):输出为推挽结构,可以提供较高的输出电流。 7. 复用开漏输出模式GPIO_Mode_AF_OD):输出为开漏结构,并且与其他功能模块共享引脚。 8. 复用推挽输出模式GPIO_Mode_AF_PP):输出为推挽结构,并且与其他功能模块共享引脚。 这些模式可以根据具体的应用需求选择,例如需要输入模拟信号时可以选择模拟输入模式,需要输出信号给其他设备时可以选择开漏输出或推挽输出模式。同时,每个GPIO口还可以通过编程来设置其模式。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [GPIO输入输出模式原理(八种工作方式附电路图详解)](https://blog.csdn.net/zhuguanlin121/article/details/118489092)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值