stm32学习日记 (一)寄存器

一、GPIO是什么?

        GPIO的英文全称问general porpose intputoutput,即通用输入输出端口。在日常工作中,可以简称为I/O口。因此,GPIO的关键字在于input与output,我将GPIO理解为输入/输出信号的端口,与串口不同的时IO口只能输入/输出信号,而串口可以输入/输出数据。
二、GPIO的工作模式

        GPIO一共有8种工作模式,浮空输入、上拉输入、下拉输入与模拟输入,开漏输出、推挽输出、复用开漏与复用推挽。


1.输入模式

        1.浮空输入。浮空输入由IO口经过施密特触发器直接读进,如上图所示,该模式下VDD与VSS开关均处于断开状态。倘若IO口并没有输入信号,那么此时单片机读取的将是一个像浮在空中的云朵一样不稳定的电信号,因此该输入模式称为浮空输入。

        2.上拉输入。从上面的介绍中,我们可以知道当IO口没有信号输入时,片上读取的是一个不稳定的电平信号,而上拉输入模式并没有这样的缺点。如上图所示,当我们闭合上拉开关,电路会连接一个VDD高电平,如果此时没有信号输入,则单片机读取的电信号一直稳定为VDD高电平。若外部输入高电平,与VDD几乎没有电势差,输入的依旧是高电平;若外部输入低电平,由于上拉电阻的存在,不会出现较大电流,输入的依旧是一个低电平。因此上拉输入即可以输入高电平又可以输入低电平,在无信号接入时始终输入高电平。

        3.下拉输入。 与上拉输入不同的是,下拉输入需要断开上拉开关,闭合下拉开关。此时,电路会连接一个VSS低电平,如果此时没有信号输入,则单片机读取的电信号一直稳定为VSS低电平。若外部输入高电平,与VSS形成电势差,输入高电平;若外部输入低电平,则输入也一个低电平。因此下拉输入即可以输入高电平又可以输入低电平,在无信号接入时始终输入低电平。

        4.模拟输入。如上图所示,模拟输入路线并不经过施密特触发器,因此该模式下输入的是一个没有任何改变的真实电信号,模拟输入通常用于单片机AD模块读取外设真实电压信号。

2.输出模式

1.开漏输出。从图中可以看出,IO口的输出主要是通过MOS管来控制的。当处于开漏输出时,我们可以把输出电路看作一个水管,而MOS管则是一个泄水阀,水量高时,由于泄水阀的存在,输出水量低,水量低时,泄水阀不工作,输出水量低。对应到实际电路上就是,当输出高电平时,MOS管打开,最终输出低电平;当输出低电平的时候,MOS管关闭,最终输出浮空电压。这样做的好处主要有两个,一是可以自由在外部添加上拉电阻,设置给定高电压;二是拉低总线。

2.推挽输出。推挽输出是我们常用的输出模式,一句话概括就是——片上输出高电平最终输出低电平,片上输出低电平最终输出高电平。原因是当片上为高电平时,P-MOS管关闭,N-MOS管打开,而低电平时相反。

3.复用开漏。复用开漏与开漏输出的区别在于复用开漏是由其他外设输出的电信号。

4.复用推挽。 复用推挽与推挽输出的区别在于复用推挽也是由其他外设输出的电信号。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值