可以在Linux操作系统下,写多个LED灯循环点亮的控制程序代码吗,即第一个亮1秒灭掉再第二个亮1秒灭掉
时间: 2024-05-03 16:22:39 浏览: 42
点亮多个LED 灯程序
可以,以下是一个示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
#define LED_COUNT 4 // LED数量
#define LED_PINS {0, 1, 2, 3} // LED引脚号
int main() {
if (wiringPiSetup() == -1) { // 初始化wiringPi库
printf("Failed to setup wiringPi\n");
exit(1);
}
int led_pins[LED_COUNT] = LED_PINS;
for (int i = 0; i < LED_COUNT; i++) { // 设置所有LED引脚为输出模式
pinMode(led_pins[i], OUTPUT);
}
while (1) { // 循环点亮LED
for (int i = 0; i < LED_COUNT; i++) {
digitalWrite(led_pins[i], HIGH); // 点亮当前LED
delay(1000); // 等待1秒
digitalWrite(led_pins[i], LOW); // 熄灭当前LED
}
}
return 0;
}
```
这个程序使用wiringPi库来控制GPIO引脚,其中LED_COUNT和LED_PINS分别定义了LED的数量和引脚号。在主循环中,先点亮一个LED,等待1秒后熄灭,再点亮下一个LED,如此循环往复。
阅读全文