我正试图将一串连接到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。提前谢谢。
答案 0 :(得分:1)
您正在函数Chaster
内的for循环中访问超出范围的索引。请注意,您的数组allLEDPins
只有4个元素,并且您尝试访问allLEDPins[4]
,而最后一个元素是allLEDPins[3]
。这会在运行时导致错误。
要解决此问题,请将for (int i = 0; i < 5; i++)
替换为for (int i = 0; i < 4; i++)