【STM32 HAL库】普通GPIO详解与CubeMX配置

前言

本文为个人对于CubeMX的GPIO常规输入输出配置的总结 以防遗忘 文中错误恳请大家指正 共同进步

GPIO基本知识

GPIO的八种工作模式

输入:

  • 浮空输入 (引脚不连接内部上下拉电阻,在无外部连接时引脚电平不确定
  • 上拉输入 (引脚连接内部上拉电阻,使引脚在无外部连接时保持高电平
  • 下拉输入 (引脚连接内部下拉电阻,使引脚在无外部连接时保持低电平
  • 模拟输入 (引脚配置为模拟模式,用于ADC输入

输出:

  • 通用推挽输出 (具有较高的驱动能力 点亮LED 驱动电机

  • 通用开漏输出 (只能驱动低电平,当输出高电平时,引脚处于高阻抗状态,不能驱动电流

  • 复用推挽输出 (常复用为其他功能 如USART_TX

  • 复用开漏输出 (常复用为其他功能 如USART_RX

在CubeMX中配置GPIO

本文以STM32G431RBT6蓝桥杯开发板为例

GPIO输出配置

在这里插入图片描述

GPIO输入配置

在这里插入图片描述

GPIO 配置参数详解

这里推荐一个blogGPIO参数含义详解

GPIO_Output

GPIO Output Level:根据需求配置
默认输出电平,引脚上电时的初始电平
GPIO Mode:推挽输出
推挽输出相较于开漏输出有较大的驱动力,一般配置为推挽输出即可
GPIO Pull-up/Pull-down:无影响
对于GPIO Output来讲,上下拉一般没什么用,因为引脚作为输出端,不为输入端,不接受外部信号
Maximum output speed:Low
一般对于普通GPIO而言,Low低速即可满足需求

GPIO_Input

GPIO Mode:默认
只有一个选项 输入模式Input mode
GPIO Pull-up/Pull-down:根据需求
根据需求,作用为保证无信号输入时输入端的电平为高/低电平(电平确定

对于八种工作模式的理解

最后,让我们再理一下八种GPIO工作模式与CubeMX中GPIO的配置的对应关系

输出:

  • 通用推挽输出 = GPIO_Output + Output Push Pull
  • 通用开漏输出 = GPIO_Output + Output open Drain
  • 复用推挽输出 在复用为其他功能时自动配置
  • 复用开漏输出 在复用为其他功能时自动配置

输入:

  • 浮空输入 = GPIO_Input + Input mode + 不上拉也不下拉
  • 上拉输入 = GPIO_Input + Input mode + Pull-up
  • 下拉输入 = GPIO_Input + Input mode + Pull-down
  • 模拟输入 在复用为ADC功能时,自动配置为模拟输入
  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值