GD32F450 GPIO实战:从点亮LED到驱动OLED,手把手教你玩转140个引脚
第一次拿到GD32F450开发板时,看着密密麻麻的140个引脚,我完全不知道从何下手。直到用GPIO点亮了第一个LED,那种"Hello World"般的成就感让我彻底爱上了嵌入式开发。本文将带你从最基础的GPIO操作开始,逐步实现LED控制、按键检测,最终驱动OLED屏幕显示自定义内容。不同于枯燥的寄存器手册,我们会通过实际项目来掌握这些知识。
1. 开发环境搭建与GPIO基础
1.1 硬件准备清单
在开始前,你需要准备以下硬件:
- GD32F450开发板(如GD32F450Z-EVAL)
- USB转TTL串口模块(用于调试输出)
- 0.96寸OLED屏幕(I2C接口)
- 面包板、杜邦线若干
- LED和220Ω电阻
- 轻触按键
提示:GD32F450系列有LQFP144和LQFP100两种封装,引脚数量不同但GPIO操作原理相同
1.2 软件工具链配置
推荐使用以下开发环境:
bash复制# Keil MDK安装后需要添加设备支持包
$ pacman -S gcc-arm-none-eabi # 或者使用ARM官方工具链
GPIO最基本的三种工作模式:
- 输入模式:检测外部信号(如按键)
- 输出模式:驱动外部设备(如LED)
- 复用功能:作为外设接口(如USART、I2C)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 点亮第一个LED
2.1 硬件电路连接
以PE2引脚为例,典型连接方式:
code复制GD32 PE2 ---[220Ω]--- LED(+) --- GND
2.2 库函数实现
在Keil中新建工程后,添加标准外设库,然后编写LED驱动代码:
c复制#include "gd32f4xx.h"
void LED_Init(void) {
rcu_periph_clock_enable(RCU_GPIOE); // 使能GPIOE时钟
gpio_mode_set(GPIOE, GPIO_MODE_OUTPUT,
GPIO_PUPD_NONE, GPIO_PIN_2); // 推挽输出
gpio_o
