在嵌入式开发中,GPIO(General Purpose Input/Output,通用输入输出)是最基础也是最重要的功能之一。无论是树莓派、Arduino 还是 STM32 等单片机,都需要通过 GPIO 来与外部硬件(如 LED、按钮、传感器等)进行交互。本教程将从零开始,教你如何使用 C语言GPIO库 来控制 GPIO 引脚,即使你是完全的新手也能轻松上手!

GPIO 是微控制器或单板计算机(如树莓派)上可编程的引脚,可以配置为输入(读取高低电平)或输出(输出高/低电平)。例如:
不同平台使用的 C 语言 GPIO 库略有不同:
wiringPi 或 libgpiod本文以树莓派 + wiringPi 库为例,讲解如何用 C 语言控制 GPIO。
你需要:
sudo apt install wiringpi)将 LED 的长脚(正极)通过 220Ω 电阻连接到树莓派的 GPIO18(物理引脚 12),短脚接地(GND,物理引脚 6)。
创建一个名为 blink.c 的文件,输入以下代码:
#include <wiringPi.h>#include <stdio.h>#include <unistd.h>#define LED_PIN 1 // wiringPi编号中,GPIO18对应编号为1int main(void) { // 初始化wiringPi库 if (wiringPiSetup() == -1) { printf("wiringPi初始化失败!\n"); return 1; } // 设置LED引脚为输出模式 pinMode(LED_PIN, OUTPUT); printf("开始闪烁LED... 按Ctrl+C退出\n"); while (1) { digitalWrite(LED_PIN, HIGH); // 点亮LED sleep(1); // 延时1秒 digitalWrite(LED_PIN, LOW); // 熄灭LED sleep(1); // 延时1秒 } return 0;}在终端中执行以下命令编译代码:
gcc -o blink blink.c -lwiringPi然后运行程序:
sudo ./blink你会看到 LED 每秒闪烁一次!按 Ctrl + C 可退出程序。
sudo 运行程序,否则可能因权限不足无法访问 GPIO除了输出,你也可以读取输入。例如,将按钮一端接 GPIO2(wiringPi 编号 8),另一端接地,并启用内部上拉电阻:
pinMode(8, INPUT);pullUpDnControl(8, PUD_UP); // 启用上拉电阻if (digitalRead(8) == LOW) { printf("按钮被按下!\n");}通过本教程,你已经掌握了如何使用 C语言GPIO库 控制树莓派的 GPIO 引脚,实现了 LED 闪烁的基本功能。这是 嵌入式开发 的第一步,也是通往更复杂项目(如智能家居、机器人控制)的基础。无论你是学习 树莓派GPIO编程 还是 单片机GPIO控制,理解 GPIO 的原理和操作方法都至关重要。
现在,动手试试吧!修改延时时间、增加多个 LED、加入按钮控制……你的创意没有限制!
本文由主机测评网于2025-12-15发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025127953.html