PPPlus - 《Arduino程序设计基础》:记录贴-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3445|回复: 0

PPPlus -- 《Arduino程序设计基础》:记录贴

[复制链接]
发表于 2015-10-29 23:22 | 显示全部楼层 |阅读模式
2.流水灯实验  更新为:由右往左,由左往右,往复循环。[mw_shl_code=c,true]
#define LED_NUM 6               // led灯的数量
#define DELAY_TIME_MS 300   // 亮与灭的时间(单位:毫秒)

// led灯对应的数字管脚
const int LEDS[LED_NUM] = {
  2, 3, 4, 5, 6, 7
};

void setup() {
  unsigned int uiIndex = 0;
  while (uiIndex < LED_NUM) {
    pinMode(LEDS[uiIndex], OUTPUT);
    ++uiIndex;
  }
}

void loop() {
  static unsigned int uiIndex = 0;
  static boolean bIsLeftOrRight = 1;
  
  digitalWrite(LEDS[uiIndex], HIGH);
  delay(DELAY_TIME_MS);
  digitalWrite(LEDS[uiIndex], LOW);

  if (bIsLeftOrRight)
    ++uiIndex;
  else
    --uiIndex;

  if (uiIndex == LED_NUM) {
    bIsLeftOrRight = !bIsLeftOrRight;
    uiIndex = LED_NUM - 2;
  } else if (uiIndex == 0xffff) {
    bIsLeftOrRight = !bIsLeftOrRight;
    uiIndex = 1;
  }
}
[/mw_shl_code]

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 05:42 , Processed in 0.074021 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表