【荔枝派 4A】RISC-V Linux 实践课 03|GPIO 与执行器

这是一套用荔枝派 4A + RuyiSDK + C 的 RISC-V Linux 实践课。
完整讲义/实验(含实机图与板上录像)在网页;本帖同步贴出跟做要点。

系列目录
01 【荔枝派 4A】RISC-V Linux 实践课 01|环境与工具链
02 【荔枝派 4A】RISC-V Linux 实践课 02|够用的 C
03 GPIO 与执行器(本周)
04 命令对话与温控
05 网络与 MQTT
06 线程与协同

课程总览:Ruyi RISC-V Linux 课程 · 总览
讲义完整版:第三章 GPIO 与执行器 · 讲义 — RISC-V Linux 课程
实验完整版:第三章 · 本章实验 · 三个实验

本章要完成什么
用 gpiod 经继电器控 5V 风扇;自己写 line_request / fan_set / fan_decide,跑通模拟温度滞回控风扇。

需要准备

  • 已完成第 1、2 章
  • 荔枝派 4A + 继电器 + 5V 风扇 + 杜邦线
  • 板端 gcc 或主机交叉编译

讲义要点

3.1 外设与 I/O

程序最终是往寄存器里改位。用户态经内核接口(gpiod)控制 GPIO,不直接裸写寄存器。

3.2 本课默认脚

  • 丝印 IO1_5/dev/gpiochip5 line 5
  • 信号脚电平 1.8V;风扇走继电器,不直驱 GPIO
  • 一根 line 同时只能一个占用者;残留 gpioset 会 busy

3.3 跟做:gpioset 控一次继电器(先只接信号端)

接线(信号 + 供电):

  • 排针 IO1_5 → 继电器 IN
  • 排针 5V → 继电器 V+
  • 排针 GND → 继电器 V-
  • 跳线帽拨到 H
sudo pkill -x gpioset
sudo gpioset -c gpiochip5 5=1
# 另开终端看状态:
sudo cat /sys/kernel/debug/gpio | head -n 80
sudo pkill -x gpioset
sudo gpioset -c gpiochip5 5=0