Ошибка кода Arduino для мигающего светодиода с пользовательским вводом - PullRequest
0 голосов
/ 02 мая 2020

Я застрял в какой-то ошибке во время компиляции и не могу найти ее решение.

Это код, который я сделал:

void setup() {
 Serial.begin(9600);
 pinMode(13,OUTPUT);
}

void loop() {
 Serial.println("How many times you wanna blink the LED?");
 String myString;

 while(myString.equals("")) {
 myString = Serial.readString();
 }

 long int mystring;
 mystring = myString.toInt();
 Serial.print("Okay! the LED will blink ");
 Serial.println(myString);
 Serial.print(" times.");

 Serial.println("In how much time you want the LED to blink once? Please tell the time in milliseconds.");
 String mystr;

 while(mystr.equals("")) {
 mystr = Serial.readString();
 }
 long int myint;
 myint = mystr.toInt();
 Serial.print("Okay we will blink the LED in ");
 Serial.println(myint);
 Serial.print(" milliseconds once.");

 Serial.println("See the Show!!");
 int ms;
 ms = myint / 2;

 while(int i = 0; i < mystring; i++) {
 digitalWrite(13,HIGH);
 delay(ms);
 digitalWrite(13,LOW);
 delay(ms);
}
}

, и это ошибка, которую я получаю снова и снова.

Arduino: 1.8.10 (Windows 8.1), плата: "Arduino / Genuino Uno"

D: \ ANSH new \ Arduino \ Blink_LED_user_Input_Times \ Blink_LED_user_Input_Times .ino: В функции 'void l oop ()':

Blink_LED_user_Input_Times: 36: 17: ошибка: ожидается ")" перед ";" токен

while (int i = 0; i

             ^

Blink_LED_user_Input_Times: 36: 19: ошибка: «i» не было объявлено в этой области

while (int i = 0; i

               ^

ожидается выход из состояния 1 ')' before ';' токен

В этом отчете будет больше информации с включенной опцией «Показать подробный вывод во время компиляции» в «Файл» -> «Настройки».

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете иметь только одно условие в while l oop

Ваш синтаксис выглядит так, как если бы вы хотели сделать for l oop:

for (int i = 0; i < mystring; i++) { … }
...