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 | 锁定引脚配置,而不是锁定引脚的输入或输出状态 |

典型应用汇总

相关推荐
独孤九剑打醒他1 小时前
【原创开源】双层Master‑Worker软硬协同调度架构:从根源解决分布式数据一致性难题
前端·嵌入式硬件·架构·前端框架·硬件工程
驴友花雕9 小时前
【花雕动手做】行空板 K10 系列实验之人工智能语音识别小车的10个参考案例
人工智能·单片机·嵌入式硬件·语音识别·行空板 k10 系列实验·花雕动手做·小车的10个参考案例
hsjiasb9 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
日拱一卒的小田15 小时前
ZYNQ学习笔记3-ZYNQ的IIC控制器1
笔记·单片机·学习
cardinal_50816 小时前
STM32MP157F-DK2开发板构建交叉编译链
stm32·单片机·嵌入式硬件
小羊先生car16 小时前
F429-HAL-RS485(回环/双机实验)(2026/8/16)
c语言·单片机·嵌入式硬件·软件构建
木白CPP16 小时前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件
zlinear数据采集卡18 小时前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
水果里面有苹果20 小时前
33-TPS62130RGTR-3A降压器
嵌入式硬件
振南的单片机世界21 小时前
推挽vs开漏:一个“强拉硬灌”,一个“只拉不管”
arm开发·stm32·单片机·嵌入式硬件