STM32-keil+CubeMX快速开发:GPIO功能

摘要

本文介绍了非复用GPIO的快速操作流程与配置要点。

软件安装及其他教程 点击打开可查看专栏【STM32Cube开发方式】

CubeMX配置

基本配置流程

新建项目的操作可以点击链接跳转到我的文章:

STM32-keil+CubeMX快速开发:新建项目

简记

选择GPIO引脚→选择模式→添加用户标签→配置默认输出电平、模式、上下拉、速度

图文详述

  • 在"Pinout & Configuration"界面的右侧可以对引脚进行功能分配,如下图。
  • 右下角的搜索框可以直接输入引脚名称搜索引脚。也可以按下鼠标拖拽、滑动滚轮缩放开寻找引脚。
  • 以"PF9"引脚为例,在对应图标上单击鼠标左键后会弹出如下图所示的弹窗。其中的选项表示这个引脚的可复用模式,单纯作为GPIO的有:GPIO_Input、GPIO_Output、GPIO_EXTI、GPIO_Analog这四种模式。
  • 选择好模式后,可以点击右键,然后点击"Enter User Label"给引脚添加用户标签,这样开发过程中就可以使用用户标签来区分引脚的作用了。
  • 然后,在左侧的"System Core→GPIO"栏内,可以对引脚进一步配置。还可以一次性选中多个引脚进行配置。

各配置项的意义

GPIO output level:配置GPIO初始状态下的输出电平。

GPIO mode:进一步配置GPIO模式

output模式下可选择推挽输出或者开漏输出。

EXTI模式下可选择中断触发模式。

GPIO Pull-up/Pull-down:配置引脚上下拉模式。

Maximum output/input speed:配置引脚的最大速度,配置项与速度值对应如下表。

|-----------|------------|
| LOW | 2MHz |
| MEDIUM | 12.5-50MHz |
| HIGH | 25-100MHZ |
| VERY_HIGH | 50-200MHZ |

User Lable:用户标签设置。

外设相关的常用HAL函数

|--------------------|------------------------|
| 函数名 | 功能描述 |
| HAL_GPIO_Init | GPIO引脚初始化 |
| HAL_GPIO_DeInit | GPIO引脚反初始化,恢复为复位后的状态 |
| HAL_GPIO_WritePin | 使引脚输出0或1 |
| HAL_GPIO_ReadPin | 读取引脚的输入电平 |
| HAL_GPIO_TogglePin | 翻转引脚的输出 |
| HAL_GPIO_LockPin | 锁定引脚配置,而不是锁定引脚的输入或输出状态 |

典型应用汇总

相关推荐
jianqiang.xue2 小时前
ESP-IDF保姆级入门02|Ubuntu24.04搭建EIM-GUI开发环境,打通Windows_Linux双平台统一开发
stm32·单片机·物联网
无垠的广袤2 小时前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
嵌入式-老费3 小时前
esp32开发与应用(添加数据分区)
单片机·嵌入式硬件
嵌入式-老费4 小时前
esp32开发与应用(OTA升级)
嵌入式硬件
CYLAM20256 小时前
STC32G 单片机0.96“OLED 西历农历可调万年历 (1901-2100)
单片机·嵌入式硬件·stc32g·万年历·西历农历·0.96”oled 12864·4x4 矩阵键盘
Discipline~Hai7 小时前
ARM03-蜂鸣器和中断
c语言·arm开发·单片机·嵌入式硬件·嵌入式
KaifuZeng8 小时前
电源面试问题汇总一
单片机·嵌入式硬件·面试·电路
驱动探索者9 小时前
RISC-V PLIC 深度解析:从 Spec 到 Zephyr 驱动实现
单片机·嵌入式硬件·中断控制器
LCG元10 小时前
STM32 FreeRTOS 实战:任务调度 + 互斥锁 + 消息队列 + 串口命令解析器
stm32·单片机·嵌入式硬件
Hello_Damon_Nikola10 小时前
姿态式饮水量估算从原理到实战
嵌入式硬件