Arduino数组和if语句

时间:2018-05-16 12:05:56

标签: c++ arrays arduino

我有问题。我的Arduino代码是:

void count (int a){
  if (a == 0) {
    int led_pin [4] = {3, 4, 5, 6};
  }

  else{
    int led_pin [2] = {4, 5, 6, 9};
  }

  for (int i = 0; i <= 7; i++){
    digitalWrite(led_pin[i], HIGH);
  }
}

我得到了输出:

  

&#39; led_pin&#39;未在此范围内声明

如何声明数组或更改数组的值?

1 个答案:

答案 0 :(得分:2)

您收到错误是因为您在if和else条件中限制了led_pin变量的范围。

你也试图改变整个变量,你不应该这样做。

试试这个。

void count(int a){
    int led_pin[2][4]={{3,4,5,6},{4,5,6,9}};
    if( a !=0)
    {
        a=1;
    }
    for(int i=0;i<4;i++) //I don't know why you used 7 in your code.
    {
        digitalWrite(led_pin[a][i],HIGH);
    }
}

我希望这会有所帮助。