Массив для удаления номера на Arduino - PullRequest
0 голосов
/ 28 февраля 2020

Как я могу распечатать и удалить это число в массиве? Я пытаюсь сделать массив, но он не работает:

У меня есть if с этим номером:

 if (conteudo.substring(1) == "44 46 00 22")

, поэтому я хотел бы напечатать этот номер в моем массив и удалить после.

int  ledArray[] = {44 46 00 22,44 46 00 23,44 46 00 24}; 
for(int i = 0; i <= 4; i++)
{ 
{
     Serial.println(ledArray[0]);
}

1 Ответ

1 голос
/ 28 февраля 2020

Пара разных точек.

1) Не уверен, что это ответит на ваш вопрос, но проблема заключается в том, что в вашем коде должно быть ledArray[i] ...

for(int i = 0; i <= 4; i++){ { 
  Serial.println(ledArray[i]);
}

вместо

for(int i = 0; i <= 4; i++){ { 
  Serial.println(ledArray[0]);
}

2) Посмотрите на эту страницу , которая описывает Serial.println

3) Массив int работает не так, как вы этого хотите. Он не будет содержать пробелов - каждый член массива представляет собой просто другое целое число с типом int

Кажется, что у вас есть 4 значения, и они вполне могут быть шестнадцатеричными, а не десятичными (десятичные 0-255 : HEX 00 - FF), поэтому я предлагаю двумерный массив чисел ....

 // choose one of the definitions below depending on whether you numbers are decimal or HEX - in HEX the numbers start 0x
int ledArray[3][4] = {{44, 46, 00, 22},{44, 46, 00, 23},{44, 46, 00, 24}};
//    int ledArray[3][4] = {{0x44, 0x46, 0x00, 0x22},{0x44, 0x46, 0x00, 0x23},{0x44, 0x46, 0x00, 0x24}};

for(int i = 0; i < 3; i++)
  { 
    for(int j = 0; j<4;j++)
     { 
       Serial.println(ledArray[i]);
     }
    // insert something here for a pause before you print the next set of numbers
  }
...