STM32学习笔记三——深度讲解GPIO及其应用

本文详细介绍了STM32微控制器的GPIO端口结构及配置方法,包括输入输出模式的特点,并提供了LED闪烁的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

STM32GPIO端口位基本结构图:

结构图I/O引脚:

GPIO输入输出总结

1.GPIO引脚的四种输入方式及其特点:

1)上拉输入(GPIO_Mode_IPU)   

2)下拉输入(GPIO_Mode_IPD)    

3)模拟输入(GPIO_Mode_AIN)

4)浮空输入(GPIO_Mode_IN_FLOATING)

2.GPIO引脚的四种输出方式及其特点:

1)推挽输出:

2)开漏输出:

3)复用开漏输出、复用推挽输出:

STM32的GPIO设置举例

端口配置低寄存器(GPIOx_CRL) (x=A..E)

端口配置高寄存器(GPIOx_CRH) (x=A..E)

端口输入数据寄存器(GPIOx_IDR) (x=A..E)

端口输出数据寄存器(GPIOx_ODR)(x=A....E)

端口位设置/清除寄存器(GPIOx_BSRR)(x=A.....E)

端口位清除寄存器(GPIOx_BRR) (x=A..E)

配置GPIO令LED灯闪烁代码+注解 


STM32GPIO端口位基本结构图:

图片描绘了STM32GPIO口内部的基本结构:左边寄存器  中间驱动器  右边I/O口引脚

结构图I/O引脚:

由于STM32芯片内部电路所能承受的电压有限,因此I/O引脚向里是两个保护二极管,他们的作用是:当有静电等瞬间电压波动进入I/O引脚时,若此波动电压大于3.3V(VDD),则上方的保护二极管导通,将电压引入电源,让电源网络吸收;若此波动电压小于0V(VSS),则下方的保护二极管导通。

GPIO输入输出总结


STMO2的GPIO的输入输出方式有以下8种:
(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复用推挽输出。

1.GPIO引脚的四种输入方式及其特点:

1)上拉输入(GPIO_Mode_IPU)   

        上拉输入,就是信号进入芯片后被内部的一个上拉电阻上拉,再经过施密特触发器转换成0、1信号,因此,复位后该引脚电平为高电平。

2)下拉输入(GPIO_Mode_IPD)    

        下拉输入,就是信号进入芯片后被内部的一个下拉电阻下拉,再经过施密特触发器转换成0、1信号,因此,复位后该引脚电平为低电平。

3)模拟输入(GPIO_Mode_AIN)

        信号进入芯片后不经过上拉电阻或者下拉电阻,也不经过施密特触发器,经由另一线路把电压信号传送到片上相应的外设模块。    例如,通常是ADC模块,然后由ADC采集电压信号。因此,可以将这种方式理解为模拟输入的信号是未经处理的信号。

4)浮空输入(GPIO_Mode_IN_FLOATING)

        信号进入芯片内部后,既没有经过上拉电阻也没有经过下拉电阻,只经由施密特触发器输入。如果被配置成这个模式,用电压表测量其引脚电压为1伏左右,是个不确定值。

        由于其输入阻抗比较大,所以一般把这种模式用于标准的通信协议,如IIC、USART等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RY7_27

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值