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

典型应用汇总

相关推荐
2501_9226395819 小时前
率能半导体 SS6285L直流双向马达驱动芯片:18V/5A,覆盖电子锁、按摩仪、电动玩具、机器人四大应用场景
单片机·嵌入式硬件·硬件工程
专一的咸鱼哥20 小时前
预训练 ONNX 模型转换为 .eim
嵌入式硬件·机器人
SuperByteMaster20 小时前
三极管 做开关电路 要尽快跳过放大区
嵌入式硬件
铅笔小新z20 小时前
【stm32】输入捕获-超声波测距
stm32·单片机·嵌入式硬件
Zw-awa20 小时前
PID 的花样:先看懂模糊 PID 和单神经元自适应 PID
stm32
菩提树下的凡夫20 小时前
机器视觉LED光源控制器
单片机·嵌入式硬件
铅笔小新z21 小时前
【stm32】全彩led灯(PWM)
stm32·单片机·嵌入式硬件
小鸡脚来咯21 小时前
【无标题】
单片机·嵌入式硬件
澄纸气21 小时前
STM32 外部中断实战:对射式计数器和编码器计数器,两个实验跑通 EXTI
stm32·单片机·嵌入式硬件
2501_9226395821 小时前
率能半导体 SS6286L直流双向马达驱动芯片:18V/7A,覆盖电子锁、玩具、无线充电、机器人四大应用场景
stm32·单片机·嵌入式硬件·硬件工程