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

典型应用汇总

相关推荐
芯岭技术2 小时前
PY32C673单片机特性,应用场景介绍,最高主频可达 72 MHz
单片机·嵌入式硬件
ytttr8732 小时前
STM32 独立看门狗(IWDG)程序设计与实现
stm32·单片机·嵌入式硬件
木下~learning2 小时前
嵌入式Linux 小项目:RK3399 基于 MPlayer 实现视频播放器(从环境搭建到完整播放列表)
linux·运维·嵌入式硬件·音视频
学习噢学个屁2 小时前
基于51单片机心率仪—体温心率血氧蓝牙
c语言·单片机·嵌入式硬件·51单片机
济6172 小时前
FreeRTOS 通信任务设计(2)----UART+DMA 环形缓冲 + 空闲中断+ 流缓冲区--- 高效接收方案详解
stm32·单片机·嵌入式·freertos
QH139292318803 小时前
是德科技KEYSIGHT N5183B 9 kHz~40 GHz微波模拟信号发生器
网络·数据库·科技·嵌入式硬件·集成测试
W.W.H.3 小时前
嵌入式常见面试题——硬件与中断篇
经验分享·单片机·嵌入式硬件
灰子学技术3 小时前
Envoy 中 UDP 网络通信实现分析
网络·单片机·嵌入式硬件·网络协议·udp
济6173 小时前
FreeRTOS 通信任务设计(1)---STM32 串口 DMA + 协议帧解析 + CRC 校验全流程详解
stm32·嵌入式·freertos