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