Arduino void loop不循环

时间:2016-02-20 15:13:35

标签: arduino

我正试图将一串连接到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 个答案:

答案 0 :(得分:1)

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

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