我想要一个单片机led跑马灯1、3、5、7和2、4、6、8轮流闪烁的代码
时间: 2023-05-14 22:07:06 浏览: 73
以下是一个基于Arduino的单片机led跑马灯1、3、5、7和2、4、6、8轮流闪烁的代码:
```
int ledPins[] = {1, 3, 5, 7, 2, 4, 6, 8};
int numPins = 8;
int delayTime = 100;
void setup() {
for (int i = 0; i < numPins; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
for (int i = 0; i < numPins; i += 2) {
digitalWrite(ledPins[i], HIGH);
delay(delayTime);
digitalWrite(ledPins[i], LOW);
}
for (int i = 1; i < numPins; i += 2) {
digitalWrite(ledPins[i], HIGH);
delay(delayTime);
digitalWrite(ledPins[i], LOW);
}
}
```
希望这个代码能够帮到你!
相关问题
我需要单片机led跑马灯单双位数轮流闪烁的代码
以下是一个基于Arduino的单片机led跑马灯单双位数轮流闪烁的代码:
```
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // 定义LED引脚
int numPins = 8; // 定义LED数量
int delayTime = 1000; // 定义闪烁间隔时间
void setup() {
for (int i = 0; i < numPins; i++) {
pinMode(ledPins[i], OUTPUT); // 设置LED引脚为输出模式
}
}
void loop() {
for (int i = 0; i < numPins; i++) {
digitalWrite(ledPins[i], HIGH); // 点亮当前LED
delay(delayTime); // 等待一段时间
digitalWrite(ledPins[i], LOW); // 熄灭当前LED
}
for (int i = numPins - 2; i > 0; i--) {
digitalWrite(ledPins[i], HIGH); // 点亮当前LED
delay(delayTime); // 等待一段时间
digitalWrite(ledPins[i], LOW); // 熄灭当前LED
}
}
```
希望这个代码能够帮到你!
我需要stm32单片机led跑马灯单双位数轮流闪烁的代码
以下是基于STM32单片机的LED跑马灯单双位数轮流闪烁的代码:
```
#include "stm32f10x.h"
void delay(uint32_t time);
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
while (1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_2);
GPIO_ResetBits(GPIOC, GPIO_Pin_1 | GPIO_Pin_3);
delay(500000);
GPIO_SetBits(GPIOC, GPIO_Pin_1 | GPIO_Pin_3);
GPIO_ResetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_2);
delay(500000);
}
}
void delay(uint32_t time)
{
while (time--)
;
}
```
希望这个代码可以帮到你!