OpenHarmony系统调试实验-GPIO驱动三色灯
·
OpenHarmony 系统调试实验 — 点亮RGB LED灯
实验一、实验目的
- 熟悉 OpenHarmony 开发环境的搭建与工程结构。
- 掌握 GPIO 引脚配置与控制的基础 API。
- 学习 OpenHarmony 系统下多线程的创建与调度方法。
- 实现 RGB LED 灯的多颜色循环闪烁控制。
二、实验环境
- 开发工具:VSCode、DevEco Device Tool、Ubuntu 20.04.6
- 开发板:海思 Hi3861V100
- 辅助工具:RaiDrive、HiBurn(烧录工具)
三、实验原理
- GPIO 控制原理通过 hi_io_set_func() 将引脚复用为 GPIO 模式,再通过hi_gpio_set_dir() 设置为输出方向,最后用hi_gpio_set_output_val() 控制高低电平,实现 LED 的亮灭。
- 多线程调度使用 osThreadNew() 创建两个线程:
线程1:负责控制 RGB 三色灯循环切换颜色。
线程2:定时打印日志,验证多线程同时运行的状态。
四、工程创建与配置
- 项目结构

- 根应用配置( applications/sample/wifi-iot/app/BUILD.gn )

- 模块构建配置(3.0_RGB_Blink_Thread/BUILD.gn )

五、核心代码实现( RGB_Blink.c )

六、编译与烧录步骤 - 编译工程在VSCode中打开DevEco Device Tool插件,点击 Rebuild 编译工程,等待编译成功。

- 文件拷贝通过RaiDrive将Ubuntu系统中生成的 Hi3861_wifiot_allinone.bin 文件复制到Windows系统。

3. 烧录程序打开HiBurn工具,选择对应串口,波特率设置为 921600 ,勾选 Auto burn ,点击 Connect 后按开发板复位键开始烧录。4. 运行验证烧录完成后,复位开发板,可观察到RGB LED灯按红→绿→蓝→白→灭→青→黄→品红的顺序循环切换,同时串口终端会每3秒打印一次日志信息。
七、实验现象与结果
开发板上的RGB LED灯按照预设的8种颜色循环闪烁,每个状态保持约0.5秒。实验结果与预期一致,成功实现了多线程控制下的RGB LED灯循环变色功能。
八、实验总结 - 本次实验掌握了 OpenHarmony 下 GPIO 引脚的配置与控制方法,理解了 LED 亮灭的底层原理。
- 学习了 OpenHarmony LiteOS 系统中多线程的创建与调度,验证了线程并发执行的效果。
- 通过 RGB LED 灯的多颜色控制,加深了对硬件控制与软件逻辑结合的理解,为后续嵌入式开发打下了基础。
更多推荐

所有评论(0)