Arduino LED追踪器在几圈后冻结?

Arduino LED追踪器在几圈后冻结?,arduino,led,Arduino,Led,我在R3上使用一个3 LED定序器电路,如下所示 LED 1连接到针脚2,LED 2连接到针脚3,LED 3连接到针脚4。R1/R2/R3为330欧姆,每个为1/4瓦 代码是: int myPins[] = {2,3,4}; // Set pin array to pins 2 through 4 void setup() { for (int thisPin = 0; thisPin < (sizeof(myPins)); thisPin++) {

我在R3上使用一个3 LED定序器电路,如下所示

LED 1连接到针脚2,LED 2连接到针脚3,LED 3连接到针脚4。R1/R2/R3为330欧姆,每个为1/4瓦

代码是:

int myPins[] = {2,3,4};           // Set pin array to pins 2 through 4

void setup()
{
    for (int thisPin = 0; thisPin < (sizeof(myPins)); thisPin++)
    {
        pinMode(myPins[thisPin],OUTPUT); // Set each pin in the array to OUTPUT mode.
    }
}

void loop()
{
    for (int thisPin = 0; thisPin < (sizeof(myPins)); thisPin++)    // Loop every pin and switch ON & OFF.
    {
        digitalWrite(myPins[thisPin], HIGH);  // Set LED ON.
        delay(100);                           // Keep it ON for 100 ms.
        digitalWrite(myPins[thisPin], LOW);   // Set LED OFF for 50 ms and then goto next one.
        delay(50);
    }
}
int myPins[]={2,3,4};//将管脚阵列设置为管脚2到4
无效设置()
{
对于(int-thisPin=0;thisPin<(sizeof(myPins));thisPin++)
{
pinMode(myPins[thisPin],OUTPUT);//将数组中的每个pin设置为输出模式。
}
}
void循环()
{
对于(int thisPin=0;thisPin<(sizeof(myPins));thisPin++)//循环每个pin并打开和关闭。
{
digitalWrite(myPins[thisPin],高);//将LED设置为亮起。
延迟(100);//保持100毫秒。
digitalWrite(myPins[thisPin],低);//将LED熄灭50毫秒,然后转到下一个。
延迟(50);
}
}
这在一开始似乎很管用。LED按顺序闪烁13次,然后连接到针脚2的LED保持亮起。当我重新上传我的文件,甚至单击IDE上的任何菜单项时,循环将重新启动

为什么会发生这种情况,是因为电路中有噪音吗

注意:在第四次迭代的
loop()
中,连接到引脚4的LED似乎保持亮起约200ms而不是100ms,就在第十三次迭代之前,车载TX LED闪烁一次。

int thisPin=0;thisPin<(sizeof(myPins));蓟++
int thisPin = 0; thisPin < (sizeof(myPins)); thisPin++
嗯,没有。阅读
sizeof()
运算符的工作原理。您需要的是
sizeof(myPins)/sizeof(myPins[0])

int thisPin=0;thisPin<(sizeof(myPins));蓟++

嗯,没有。阅读
sizeof()
运算符的工作原理。您希望改为
sizeof(myPins)/sizeof(myPins[0])

OK sizeof返回字节。哦,我完全忘记了。谢谢你会调整它。@mobbayre不要这样做,
我已经将循环更改为:
for(int thisPin=0;thisPin<(sizeof(myPins)/sizeof(int));
确定sizeof返回字节。哦,我已经完全忘记了。谢谢你会调整它。@mobbayre不要这样做,
我已经将循环更改为:
for(int thisPin=0;thisPin<(sizeof(myPins)/sizeof(int));