1. GPIO 输出控制 LED
实验目的
学习在 Linux 应用层通过 C 语言控制 GPIO 引脚输出高低电平,掌握 GPIO sysfs 接口的基本操作。
硬件准备与特别说明
说明:本开发板底板的系统指示灯(SYS-LED)默认复用为串口,未预留空闲的板载用户 LED。
测试引脚:本实验使用 40 Pin 排针的第 17 针(PB11,3.3V电压域) 进行输出测试。
现象验证:由于没有板载 LED,运行程序后,请观察终端打印的日志。若有条件,可使用万用表测量第 17 针与 GND 的电压变化,或外接 LED 灯珠观察。
源码获取
请在网盘 软件资料/demo/base-demos/led_flash 目录下获取 led_flash.c。
核心代码解析
本程序通过标准 C 语言的 fopen 和 fprintf 函数,直接向系统文件(sysfs)写入数据来控制引脚:
// 1. 导出 PB11 引脚
write_sysfs("/sys/class/gpio/export", "43");
// 2. 配置该引脚为“输出”模式
write_sysfs("/sys/class/gpio/gpio43/direction", "out");
// 3. 循环写入高低电平
write_sysfs("/sys/class/gpio/gpio43/value", "1"); // 高电平
usleep(500 * 1000); // 延时500毫秒
write_sysfs("/sys/class/gpio/gpio43/value", "0"); // 低电平
usleep(500 * 1000);交叉编译
请在对应放置目录进行编译,并将可执行文件传到板子上使用,如图所示,
运行程序

正常现象现象:终端交替打印 [虚拟LED] 亮 和 [虚拟LED] 灭。按 Ctrl+C 退出。
使用万用表测试电压不断变化。
作者:林晓燕 创建时间:2026-10-21 17:23
最后编辑:林晓燕 更新时间:2026-11-05 14:56
最后编辑:林晓燕 更新时间:2026-11-05 14:56