GPIO的工作模式

目录

1、GPIO定义

2、STM32的GPIO原理图

 浮空输入模式

上拉、下拉输入模式

模拟输入模式

推挽输出模式

开漏输出模式

复用推挽输出模式

复用开漏输出模式


1、GPIO定义

GPIO的全称是General-purpose input/output,意为通用输入/输出接口,在STM32中,GPIO的工作模式被细分为8种,由4个32位寄存器共同控制,分别是4种输入模式:浮空输入、上拉、下拉输入、模拟输入,2种输出模式:推挽输出,开漏输出,2种复用输出模式:推挽复用功能和开漏复用功能。

2、STM32的GPIO原理图

 浮空输入模式

浮空即端口在默认情况下不接上拉电阻和下拉电阻,上图开关1与开关2断开,都呈高阻态。因此其特点为:电压不稳定,可能为0V,也可能是VCC,还可能是介于两者之间的某个值,所以对于浮空输入要有明确的输入信号。

 适用场合:外部按键输入/USART RX引脚。

上拉、下拉输入模式

上拉: 开关1闭合,开关2断开,即端口接入一个上拉电阻,起到保护作用。那么在没有输入信号时,默认电平为高电平。

下拉:开关2闭合,开关1断开,即端口接入一个上拉电阻,起到保护作用。那么在没有输入信号时,默认电平为低电平。

适用场合:需要IO内部上拉电阻输入时,器件的外部中断(IRQ)引脚触发中断条件为下(上)降沿触发/低(高)电平触发,这样在无信号输入时始终保持高(低)电平,如果有事件触发中断IRQ可以输出一个低(高)电平,进而可产生(下(上)降沿/低(高)电平)中断。

模拟输入模式

斯密特触发器关闭,模拟信号直接从I/O引脚经过模拟输入通道到达STM32处理器的片上A/D转换电路。

适用场合:ADC模拟输入/低功耗下省电。

 推挽输出模式

  推挽电路是指两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,受两个互补信号控制,各负责正负半周的波形放大任务。推挽电路工作时,两只对称的功率开关管每次只有一个导通,另一个截止,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流,及提高电路的的负载能力,又提高了开关速度。但要注意的是,推挽电路是不需要接上拉电阻,引脚就可以直接输出高电平,假如输出端接地,输出高电平反而会引起单片机运行不稳定,甚至烧坏引脚。

  当STM32处理器的I/0引脚工作在推挽输出方式下,CPU输出‘0’时,N-MOS导通,P-MOS截止,引脚输出‘0’,也就是低电平;CPU输出‘1’时,N-MOS截止,P-MOS导通,引脚输出‘1’,也就是高电平。可见,I/0口工作在推挽输出方式下,并不需要接上拉电阻的,此时开关1、开关2都断开。

适用场合:通常作为普通的GPIO用于驱动LED、数码管等电子元器件或输出控制某个信号。

开漏输出模式

开漏中的“漏”是指MOSFET的漏极,开漏电路就是指以MOSFET的漏极为输出的电路。
图中,CPU输出‘0’时,N-MOS导通,P-MOS不被CPY激活,引脚输出‘0’,也就是低电平;
CPU输出‘1’时,N-MOS截正即高阻态,P-MOS不被激活,此时输出引脚要得到‘1’高电平,
需要外接上拉电阻,也就是开关1闭合,开关2断开。
 适用场合:适合做电流型的驱动,其吸收电流能力较强。

                   可以将多路开漏输出的引脚连接到一条线上,通过一个上拉电阻,在不增加任何                      器件的情况下,形成“与逻辑”关系,这也是I2C,SMBus,等总线判断总线占用                      状态的原理。

复用推挽输出模式

在STM32中,一个引脚通常可作为普通GPIO来使用,但通常有多个复用模块对应着同一个引脚,那么当这个GPIO作为内置外设引脚时,就叫做复用模式。

适用场合:常见片内外设(USART TX引脚/SPI/PWM输出等等)

复用开漏输出模式

与开漏输出特性一致,只不过引脚选择了复用功能。 适用场合:常见片内外设(I2C/SMBus等等)

注意事项:当GPIO引脚的主功能为驱动片上外设(如I2C)时,此时也可选择对应推挽/开漏输出模式而不启用复用引脚功能。此外如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值