Написал нубо код и не работает((

Тема в разделе "Флудилка", создана пользователем Arduboy, 17 июн 2015.

  1. Arduboy

    Arduboy Гик

    Дорогие форумчане, всем привет!
    Со мной произошёл вот такой случай:
    1) Вот сижу я тут и пишу код.
    2) Написал.
    3) Компилирую.
    4) Читаю ошибку.

    Сама ошибка:
    Код (Text):
    Arduino: 1.6.5 (Windows 7), Плата"Arduino Uno"

    Изменена опция сборки, пересобираем все

    Default.ino: In function 'void loop()':
    Default:10: error: expected ')' before ';' token
    Default:10: error: 'i' was not declared in this scope
    Default:10: error: expected ';' before ')' token
    Default:16: error: expected ')' before ';' token
    Default:16: error: expected ';' before ')' token
    expected ')' before ';' token

      Это сообщение будет содержать больше информации чем
      "Отображать вывод во время компиляции"
      включено в Файл > Настройки
     
    Сам код:
    Код (Text):
    int motorPin = 9;

    void setup()
    {
    pinMode(motorPin, OUTPUT);
    }

    void loop()
    {
    if (int i=0; i<=255; i++)
    {
      digitalWrite(motorPin, i);
      delay(50);
    }
    delay(1000);
    if (int i=255; i>=0; i--)
    {
      digitalWrite(motorPin, i);
      delay(50);
    }
    delay(1000);
    }
     
  2. Arduboy

    Arduboy Гик

    В чём ошибся?
    Как исправить?
     
  3. ANV

    ANV Гуру

    Надо определиться, все-таки if или for нужен
     
  4. Arduboy

    Arduboy Гик

    Написал обычный код для мотора.
    Делаю машинку.
     
  5. Arduboy

    Arduboy Гик

    А if что нельзя использовать?
     
  6. Arduboy

    Arduboy Гик

    Мне нужен код с if
     
  7. ANV

    ANV Гуру

    Смотри в эту строчку пока не придет прозрение:
    Код (Text):
    if (int i=0; i<=255; i++)
     
  8. Для начала нужно if заменить на for. И в 1-м цикле скобки неправильно стоят, мне кажется (хотя к ошибке компиляции это не приведет).

    P.S. Зачем Вы в этот раздел пишете? Какое это имеет отношение к платам Arduino и шилдам?
     
  9. Arduboy

    Arduboy Гик

    Чёт-чёт прозрение у меня не приходит))
     
  10. Arduboy

    Arduboy Гик

    А в какой раздел надо писать?
     
  11. Arduboy

    Arduboy Гик

    Это написано сверху:
    Arduino & Shields
    Платы xDuino, программирование в Arduino IDE, подключение, драйверы и прошивки, Arduino Shields
     
  12. Arduboy

    Arduboy Гик

    Всё понял, просто перепутал if с оператором for.
    Спасибо за помощь!
     
  13. Да, похоже, я ошибся - при текущих разделах форума, и т.к. отдельный раздел не создан, то можно писать в Arduino & Shields. Извините...
     
  14. Если научится понимать, что выводится в сообщении об ошибке, то можно было бы проще находить свои ошибки. Там написано:
    Код (Text):
    Default:10: error: expected ')' before ';' token
    Т.е. ошибка в строке 10, перед символом точки с запятой компилятор ожидал правую скобку. Т.е. ошибку нужно было искать в этих символах. И т.к. там было написано if, то вполне правильно, что компилятор ожидал правую скобку, а не точку с запятой.

    P.S.
    У меня, кстати, выводит не только номер строки, но и номер символа в строке - для этой ошибки символ 12, т.е. это первая точка с запятой, а не вторая.
     
  15. Arduboy

    Arduboy Гик

    Спасибо! Буду знать.