STM32_GPIO工作方式及初始化

本文详细介绍了STM32 GPIO的工作模式,包括4种输入模式和4种输出模式,以及GPIO的配置寄存器和库函数使用。重点讲述了GPIO口的初始化步骤和按键输入的处理方式,并解析了端口映射与复用功能配置,提供了实例说明如何将GPIO配置为串口1的使用。

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

GPIO工作方式

4种输入模式:输入浮空;输入上拉;输入下拉;模拟输入
4种输出模式(上拉或下拉):开漏输出;开漏复用功能;推挽式输出;推挽式复用功能
4种输出速度:2MHz;25MHz;50MHz;100MHz
FT5v容忍:标准输入是3.3V,可容忍5V输入
FT5v容忍:标准输入是3.3V,可容忍5V输入

推挽输出:可以输出强高低电平,连接数字器件
开漏输出:只可以输出强低电平,高电平需要外部电阻拉高实现,适合于电流型驱动,吸收电流能力强

每一组GPIO端口配置相关的寄存器

在这里插入图片描述

如果配置一个IO口需要两位,那么刚好32位寄存器配置一组IO口16个IO口
如果配置一个IO口需要一位,一般高16位保留
BSRR32位寄存器分高低32位,BSRRL配置IO口的置位状态(1);BSRRH配置IO口的复位状态(0)

GPIO库函数介绍

1个初始化函数
void GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);
2个读取输入电平函数
unit8_t GPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,unit16_t GPIO_Pin);  //读取某个GPIO的输入,实际操作GPIOx_IDR寄存器
unit16_t GPIO_ReadInputData(GPIO_TypeDef*GPIOx);     //读取某组GPIO的输入,实际操作GPIOx_IDR寄存器
2个读取输出电平函数
unit8_t GPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,unit16_t GPIO_Pin);  //读取某个GPIO的输出,实际操作GPIOx_ODR寄存器
unit16_t GPIO_ReadOutputData(GPIO_TypeDef*GPIOx);     <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值