外观
gpio 输出示例
2025-10-29
概述
本示例演示如何使用 RT-Thread 的 GPIO 子系统控制板载 LED 灯闪烁。通过配置 GPIO 引脚为输出模式,实现 LED 以 1 秒为周期的亮灭控制,帮助用户掌握 GPIO 输出模式的基本配置与使用方法。
GPIO 子系统
GPIO 子系统是 Linux、RT-Thread 等操作系统中用于管理通用输入输出引脚的核心框架。在 RT-Thread 中,GPIO 子系统提供引脚编号获取、输入输出模式配置、电平读写控制及中断回调绑定等功能,支持通过标准化接口实现芯片引脚的多功能管理与操作。
控制板载 LED 闪烁
本示例以控制板载 LED 闪烁为实践目标,实现 LED 以 1 秒为闪烁周期,持续闪烁 10 次的效果。
创建工程点击展开
依次点击 “文件” -> “新建” -> "RT-Thread RuiChing App 项目"。

在弹出新建向导中选择 开发版 、BSP: 、示例 、 调试器/下载器。选择好之后点击 “完成”。

点击 “完成” 后,等待工程创建完成。

创建完成。

构建工程点击展开
单击工程使工程进入 Active-Debug 模式。

点击工具栏上的构建按钮进行工程编译。

构建成功后,会显示构建成功的信息。

固件下载点击展开
固化设备树

固化 APP

核心示例代码
GPIO 示例相关代码说明
# define LED 160:设置引脚宏定义;rt_pin_mode(pin_num, PIN_MODE_OUTPUT):将指定引脚配置为输出模式;rt_pin_write(pin_num, PIN_HIGH)和rt_pin_write(pin_num, PIN_LOW):分别用于控制引脚输出高电平和低电平,对应实现 LED 的点亮与熄灭操作;rt_thread_mdelay(1000):实现 1 秒亮、1 秒灭的闪烁效果。
applications/gpio_output_example.c
#define LED 160 // 设置引脚宏定义
rt_err_t gpio_output_example(void)
{
rt_uint32_t count = 10;
rt_pin_mode(LED, PIN_MODE_OUTPUT); // 将指定引脚配置为输出模式
LOG_I("gpio output startup");
// 控制LED灯以2秒为周期,持续闪烁10次
while (count--)
{
rt_pin_write(LED, PIN_HIGH);
rt_thread_mdelay(1000);
rt_pin_write(LED, PIN_LOW);
rt_thread_mdelay(1000);
}
LOG_I("gpio output end");
return RT_EOK;
}运行示例
操作步骤
- 将程序下载到开发板
- 打开串口终端连接开发板
- 输入
gpio_output_example命令
预期结果
- LED 灯以 1 秒亮、1 秒灭的方式闪烁 10 次
- 串口终端显示启动和结束日志信息
- 程序执行完毕后自动退出
rtt 终端
msh />gpio_output_example
[I/example.gpio] gpio output startup
[I/example.gpio] gpio output end
