Проблемы с компиляцией

Тема в разделе "Arduino & Shields", создана пользователем Konstantin165, 29 янв 2020.

  1. Konstantin165

    Konstantin165 Нуб

    В общем, в ардуино я полный профан, при компиляции кода выдает такую ошибку:
    Arduino: 1.8.7 (Windows 10), Плата:"Arduino Uno"

    exit status 1
    expected primary-expression before '{' token
    Не ругайтесь сильно, я тупой)
    Код:

    Код (C++):
    #define PIN_TRIG 12
    #define PIN_ECHO 11
    int piezoPin = 3;
    long duration, cm;
    void setup() {
      // Инициализируем взаимодействие по последовательному порту
      Serial.begin (9600);
      //Определяем вводы и выводы
      pinMode(PIN_TRIG, OUTPUT);
      pinMode(PIN_ECHO, INPUT);
    }
    void loop() {
      // Сначала генерируем короткий импульс длительностью 2-5 микросекунд.
      digitalWrite(PIN_TRIG, LOW);
      delayMicroseconds(5);
      digitalWrite(PIN_TRIG, HIGH);
      // Выставив высокий уровень сигнала, ждем около 10 микросекунд. В этот момент датчик будет посылать сигналы с частотой 40 КГц.
      delayMicroseconds(10);
      digitalWrite(PIN_TRIG, LOW);
      //  Время задержки акустического сигнала на эхолокаторе.
      duration = pulseIn(PIN_ECHO, HIGH);
      // Теперь осталось преобразовать время в расстояние
      cm = (duration / 2) / 29.1;
      Serial.print("Расстояние до объекта: ");
      Serial.print(cm);
      Serial.println(" см.");
      // Задержка между измерениями для корректной работы скеча
      delay(250);
      if
      {
        cm<160
      }
      else
      {
       tone(piezoPin, 2000); // Запустили звучание
      delay(500);
      noTone(); // Остановили звучание
      }
     

    }
     
     
  2. Ariadna-on-Line

    Ariadna-on-Line Гуру

    В сообщении об ошибке должно быть еще номер строчки и позиция в строке. А то куда смотреть ?
    if - если - если что ? Здесь не дописано !!! Зайдите в справочник Ардуино насчет "if".
    После if должна стоять круглая скобка, а не "с хвостиком".
     
    Последнее редактирование: 29 янв 2020
  3. Konstantin165

    Konstantin165 Нуб

    Точник, секунду
     
  4. Konstantin165

    Konstantin165 Нуб

    ошибка(и) здесь delay(250);
    if
    {
    cm<160
    }
    else
    {
    tone(pie
     
  5. Konstantin165

    Konstantin165 Нуб

    Вот тупо скопированное сообщение:
    Arduino: 1.8.7 (Windows 10), Плата:"Arduino Uno"

    C:\Users\ТРРХАЧА\Documents\Arduino\________\________.ino: In function 'void loop()':

    ________:30:2: error: expected primary-expression before '{' token

    ________:30:2: error: expected ')' before '{' token

    ________:41:1: error: expected primary-expression before '}' token

    exit status 1
    expected primary-expression before '{' token

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
     
  6. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Код (C++):
    if (cm < 160 )
    {
    tone(piezoPin, 2000); // Запустили звучание
      delay(500);
      noTone(); // Остановили звучание
    }
    else
    {
    tone(piezoPin, 200); // Запустили звучание
      delay(500);
      noTone(); // Остановили звучание
    }
    Должно быть в примерно таком виде.
     
  7. parovoZZ

    parovoZZ Гуру

    Ставьте нормальную IDE с подсветкой синтаксиса, а не этот блокнот. Тем более на стадии, когда
     
  8. Konstantin165

    Konstantin165 Нуб

    спс
     
  9. Konstantin165

    Konstantin165 Нуб

    оххх, а может и с на русском есть? Дашь ссылку?
     
  10. Konstantin165

    Konstantin165 Нуб

    Все равно ошибка:
    Arduino: 1.8.7 (Windows 10), Плата:"Arduino Uno"

    C:\Users\ТРРХАЧА\Documents\Arduino\________\________.ino: In function 'void loop()':

    ________:33:10: error: too few arguments to function 'void noTone(uint8_t)'

    In file included from sketch\________.ino.cpp:1:0:

    C:\Users\ТРР ХАЧА\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.2\cores\arduino/Arduino.h:248:6: note: declared here

    void noTone(uint8_t _pin);

    ^~~~~~

    ________:39:10: error: too few arguments to function 'void noTone(uint8_t)'

    In file included from sketch\________.ino.cpp:1:0:

    C:\Users\ТРР ХАЧА\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.2\cores\arduino/Arduino.h:248:6: note: declared here

    void noTone(uint8_t _pin);

    ^~~~~~

    exit status 1
    too few arguments to function 'void noTone(uint8_t)'

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
     
  11. Daniil

    Daniil Гуру

    Notepad++
     
  12. parovoZZ

    parovoZZ Гуру

    Atmel Studio с сайта микрочипа, а потом оттуда ставишь нахлобучку для ардуины. И там же можешь поставить любую цветовую тему с любой подсветкой. Потом в блокнот уже не вернёшься. Никогда.
     
    SergeiL нравится это.
  13. parovoZZ

    parovoZZ Гуру

    А не перевести самостоятельно? Перевод:
    и ниже подсказка:
     
  14. ИгорьК

    ИгорьК Гуру

    Проблюешься, и поставишь Notepad ++, Sublime, Atom, etc.

    Навсегда.
     
  15. Ariadna-on-Line

    Ariadna-on-Line Гуру

    noTone(piezoPin);

    Notepad++Portable
     
  16. Daniil

    Daniil Гуру

    Студия требовательна к пк, хоть и решает множество задач. Да и аглицкий там, под тз тс не проходит)
     
  17. SergeiL

    SergeiL Оракул Модератор

    Да, расцветка, интересует новичков в первую очередь!
    Поставил плюс, Теперь они смогут долго обсуждать подсветку. Больше ничего не потребуется ;)
    Еще с MultiEdit с начала 1990 бесили подсветки всего и вся.
    Нет, в разумных пределах - нормально.
    Скобки, комментарии - да. Возможность свернуть функцию - да.
    Но как сейчас - просто ужас. :(
     
    Последнее редактирование: 29 янв 2020
  18. parovoZZ

    parovoZZ Гуру

    А мне нравится VSCode. Работает на любом навозе. Прикрутить можно к любому дереву. Но мне, увы, мозгов на это не хватает. Поэтому пока прикручен к IAR)

    У меня Atmel Studio на ноуте запускается минуты за полторы (ОЗУ 8ГБ, но тухлый проц). Но потом нормально работает. А вот CCS и Simplicity Studio - они на эклипсе. Вот это вообще вилы. Даже если и загрузятся, то потом ещё и тупят((( Приходится большого брата звать на помощь
     
    Daniil нравится это.
  19. Daniil

    Daniil Гуру

    Блокнотом++ пользуюсь в любой момент когда нужно что-то записать.
    Со студией аналогично все. В другое не лезу)
     
    SergeiL нравится это.
  20. parovoZZ

    parovoZZ Гуру

    Они просто не в курсе, что так можно! Там же не только подсветка, но и автопоиск, подсказки, рефакторинг и прочее, прочее, без чего в принципе невозможно осваивать новые горизонты!