完成一个花式流水灯 :①L1-L8全部一起闪烁三次 ; ②L1闪烁三次 ③ L1---L8--L1-L8往返流水灯三次 ④ 从最两端的两个LED流向中间,再流向两边,重复三重复②--- ④ 的过程。
时间: 2023-05-14 16:06:59 浏览: 69
以下是一个可能的实现:
```c
#include <stdio.h>
#include <wiringPi.h>
#define LED_COUNT 8
int main() {
wiringPiSetup();
int pins[LED_COUNT] = {0, 1, 2, 3, 4, 5, 6, 7};
// 初始化所有 LED 的引脚为输出模式
for (int i = 0; i < LED_COUNT; i++) {
pinMode(pins[i], OUTPUT);
}
// ① L1-L8 全部一起闪烁三次
for (int i = 0; i < 3; i++) {
for (int j = 0; j < LED_COUNT; j++) {
digitalWrite(pins[j], HIGH);
}
delay(500);
for (int j = 0; j < LED_COUNT; j++) {
digitalWrite(pins[j], LOW);
}
delay(500);
}
// ② L1 闪烁三次
for (int i = 0; i < 3; i++) {
digitalWrite(pins[0], HIGH);
delay(500);
digitalWrite(pins[0], LOW);
delay(500);
}
// ③ L1---L8--L1-L8 往返流水灯三次
for (int i = 0; i < 3; i++) {
for (int j = 0; j < LED_COUNT; j++) {
digitalWrite(pins[j], HIGH);
delay(100);
digitalWrite(pins[j], LOW);
}
for (int j = LED_COUNT - 2; j > 0; j--) {
digitalWrite(pins[j], HIGH);
delay(100);
digitalWrite(pins[j], LOW);
}
}
// ④ 从最两端的两个 LED 流向中间,再流向两边,重复三次
for (int i = 0; i < 3; i++) {
digitalWrite(pins[0], HIGH);
digitalWrite(pins[LED_COUNT - 1], HIGH);
delay(500);
for (int j = 1; j < LED_COUNT - 1; j++) {
digitalWrite(pins[j], HIGH);
delay(100);
digitalWrite(pins[j], LOW);
}
delay(500);
for (int j = LED_COUNT - 2; j > 0; j--) {
digitalWrite(pins[j], HIGH);
delay(100);
digitalWrite(pins[j], LOW);
}
digitalWrite(pins[0], LOW);
digitalWrite(pins[LED_COUNT - 1], LOW);
delay(500);
}
return 0;
}
```
这个程序使用了 WiringPi 库来控制 GPIO 引脚,需要在编译时链接该库,例如:
```
gcc -o led led.c -lwiringPi
```
其中 `-lwiringPi` 表示链接 WiringPi 库。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)