STM32复习(一)--- GPIO的八种工作模式

GPIO结构图

(一)STM32 IO工作模式

输出模式有四种:推挽输出,开漏输出,复用推挽输出,复用开漏输出

输入模式有四种:上拉输入,下拉输入,浮空输入,模拟输入

输出模式:

1.推挽输出(Push-Pull,pp)

特点:①让输出控制变成了VDD/VSS输出,使得输出电流增大

②提高了输出引脚的驱动能力,提高了电路的负载能力和开关的动作速度

推挽输出模式下,P-MOS和N-MOS均有效,且STM32对IO口具有绝对的控制权,引脚可以输出高低电平。

当输出数据寄存器写1,上管导通,下管断开,输出控制接到VDD,输出为高电平

当输出数据寄存器写0,上管断开,下管导通,输出控制接到VSS,输出为低电平

2.开漏输出(Open-Drain,OD)

特点:①开漏输出模式可以直接输入低电平

②推挽输出模式可以直接输出高电平,但开漏输出需要外接上拉电阻才可以输出高电平

开漏输出模式下,P-MOS无效,N-MOS有效。

开漏输出模式下,只有低电平才有驱动能力,高电平无驱动能力,引脚只能输出低电平,可以作为通信协议的驱动方式如I2C通信的引脚。

当输出数据寄存器写1,N-MOS断开,输出控制相当于断开,也就是高阻态

当输出数据寄存器写0,N-MOS导通,输出控制相当于接VSS,输出为低电平

3.复用推挽/开漏输出(Alternate Function,AF)

GPIO除了作为通用输入输出引脚使用以外,还可以作为片上外设(USART,IIC,SPI)专用引脚,即一个引脚可以有多个用途,但是同一时刻一个引脚只能使用复用功能中的一个。

当引脚设置为复用功能的时候,可选择复用推挽模式或者复用开漏模式,在设置为复用开漏模式的时候,需要外接上拉电阻。 

复用推挽输出图:

复用开漏输出图:

输入模式:

1.上拉输入(Input Pull-up)

VDD经过开关、上拉电阻,连接外部I/O引脚。当开关闭合时,外部I/O无输入信号时,默认输入高电平。

2.下拉输入(Input Pull-down)

VSS经过开关、下拉电阻,连接外部I/O引脚,当开关闭合时,外部I/O无输入信号时,默认输入低电平。

3.浮空输入(Floating Input)

两个上下拉电阻开关均断开,没有上拉也没有下拉,I/O引脚直接连接TTL肖特基触发器

此时I/O引脚浮空,读取的电平是不确定的,外部信号是什么电平,MCU引脚就输入什么电平

4.模拟输入(Analoge model)

两个上下拉电阻开关均断开,同时TTL肖特基触发器也断开,引脚信号直接连接模拟输入,实现对外部信号的采集。

(二)GPIO的输出速度 

STM32的I/O引脚工作在输出模式下时,需要配置I/O引脚的输出速度

该输出速度不是输出信号的速度,而是I/O口驱动电路的响应速度。

STM32提供了三个速度,2MHZ,10MHZ,50MHZ

实际开发过程中需要结合实际情况选择合适的响应速度,以兼顾信号的稳定性和低功耗

当设备为高速时,功耗大,噪声大,电磁干扰强

当设备为低速时,功耗低,噪声小,电磁干扰弱

简单外设,如LED灯,蜂鸣器建议使用2MHZ的输出速度

而复用为IIC,SPI等通信信号时,建议使用10MHZ或50MHZ以提高响应速度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值