首页 文章

Arduino void loop不循环

提问于
浏览
1

我试图眨眼连接到Arduino上的一个引脚的LED阵列 .

当我将代码上传到我的Arduino时:

//array of pins
int allLEDPins[4] = {2, 3, 4, 5};

//the chase function
void Chaster(int* anArray) {
  for (int i = 0; i < 5; i++) {
    digitalWrite(allPins[i], HIGH);
    delay(200);
    digitalWrite(allPins[i], LOW);
    delay(200);
  }
}

//setup pins
void setup() {
  pinMode(allPins[0], OUTPUT);
  pinMode(allPins[1], OUTPUT);
  pinMode(allPins[2], OUTPUT);
  pinMode(allPins[3], OUTPUT);
}

void loop() {
  Chaster(allLEDPins);
}

循环函数不循环 . 我在Windows 10机器上使用Arduino IDE 1.6.8中的Arduino Zero . 先感谢您 .

1 回答

  • 1

    您正在函数 Chaster 中的for循环中访问超出范围的索引 . 请注意,您的数组 allLEDPins 只有4个元素,并且您尝试访问 allLEDPins[4] ,而最后一个元素是 allLEDPins[3] . 这会在运行时导致错误 .

    为了解决这个问题,请将 for (int i = 0; i < 5; i++) 替换为 for (int i = 0; i < 4; i++)

相关问题