GPIO13 连接灯带DI。SPI协议。
代码如下
#include<SPI.h>
//LED 灯珠数量
#define LED_NUMBER 60
//模拟0码 1111 1100
uint8_t CODE0 = 0xFC;
//模拟1码 1100 0000
uint8_t CODE1 = 0XC0;
void setup() {
SPI.begin();
//设置大小端
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV2);
}
void g() {
for (int j = 0; j < 3; j++) {
if (j == 0) {
for (int k = 0; k < 8; k++) {
SPI.transfer(CODE0);
}
} else {
for (int k = 0; k < 8; k++) {
SPI.transfer(CODE1);
}
}
}
}
void r() {
for (int j = 0; j < 3; j++) {
if (j == 1) {
for (int k = 0; k < 8; k++) {
SPI.transfer(CODE0);
}
} else {
for (int k = 0; k < 8; k++) {
SPI.transfer(CODE1);
}
}
}
}
void b() {
for (int j = 0; j < 3; j++) {
if (j == 2) {
for (int k = 0; k < 8; k++) {
SPI.transfer(CODE0);
}
} else {
for (int k = 0; k < 8; k++) {
SPI.transfer(CODE1);
}
}
}
}
void loop() {
delay(3000);
for (int i = 0; i < LED_NUMBER; i++) {
r();
}
delay(3000);
for (int i = 0; i < LED_NUMBER; i++) {
g();
}
delay(3000);
for (int i = 0; i < LED_NUMBER; i++) {
b();
}
}
欢迎打赏