Ошибка компиляции для платы wavgat uno r3

  • #1

Доброго времени суток!!
Столкнулся с проблемой.
Записал скетч на плату (Arduino nano V3.0, на чипе WAVGAT AVGA328P AU1738, а на другой микросхеме WCH CH340G), Arduino IDE — пишет Загрузка завершена ( тобишь, скетч загружен на плату), подключаю светодиоды, и просто белым горят все диоды ( проверил, подключен управляющий контакт именно к DI в начале ленты ( ну не лента а Гирлянда WS2811) на кнопку вообще 0 реакции!!. Может Ардуино ИДЕ не поддерживает эту плату??(( или в чем может быть проблема??

Wan-Derer

  • #2

@EugeniUP, В IDE надо подсунуть ядро для этого МК. Как это сделать описано в карточке товара, там где ты её покупал.
Вероятность что запустится — примерно 0.1%

  • #3

@EugeniUP, В IDE надо подсунуть ядро для этого МК. Как это сделать описано в карточке товара, там где ты её покупал.
Вероятность что запустится — примерно 0.1%

Ура товарищи ПОБЕДА)) Работает!! Нашел библиотеки и софт для WAVGAT UNO R3 ; NANO V3.0 ; и Pro mini.
Если у кого-то будет такая же проблема, поделюсь файлами, а там дальше все просто.WAVGAT.jpg

kostyamat

  • #4

Ура товарищи ПОБЕДА)) Работает!! Нашел библиотеки и софт для WAVGAT UNO R3 ; NANO V3.0 ; и Pro mini.
Если у кого-то будет такая же проблема, поделюсь файлами, а там дальше все просто.Посмотреть вложение 7399

Та какая там победа? Это только начало, у вас с этой платкой просто ещё до секса не дошло, только цветочно+конфетный период в разгаре.
Ардуино кор, для этой «прелести» корявый до ужаса, как и сама плата.
Хотя чип, сам по себе, и не плохой, покруче оригинала будет.
Ардуино кор лучше этот использовать https://github.com/dbuezas/lgt8fx
А сами платы такие брать

  • LGT8F328P.png

    152.4 KB
    Просмотры: 65

  • #5

Заказал на али простую nano 3 , но прислали сиё устройство WAVGAT NANO 3. В IDE дрова и библиотеке установил Blink на ней заработал. Заливаю прошивку БУДИЛЬНИК-РАССВЕТ Выодит «class EEPROMClass’ has no member named ‘update’».
Если выбрано в IDE WAVGAT NANO 3 то в программе где стоят строки EEPROM.update , update-неактивно, если в IDE поставить стандартную nano 3 то строки с EEPROM.update активируются. Возможноли доточить данный скетч для WAVGAT ? подскажите где копать и куда ? или только не ней Blink и будет работать

  • Screenshot_12.jpg

    94.5 KB
    Просмотры: 120

  • Screenshot_13.jpg

    95.2 KB
    Просмотры: 91

kostyamat

  • #6

Заказал на али простую nano 3 , но прислали сиё устройство WAVGAT NANO 3. В IDE дрова и библиотеке установил Blink на ней заработал. Заливаю прошивку БУДИЛЬНИК-РАССВЕТ Выодит «class EEPROMClass’ has no member named ‘update’».
Если выбрано в IDE WAVGAT NANO 3 то в программе где стоят строки EEPROM.update , update-неактивно, если в IDE поставить стандартную nano 3 то строки с EEPROM.update активируются. Возможноли доточить данный скетч для WAVGAT ? подскажите где копать и куда ? или только не ней Blink и будет работать

В теме 4 сообщения до вас. Неужели так сложно прочитать?

  • #7

В теме 4 сообщения до вас. Неужели так сложно прочитать?

Все четыре прочитал. Для данной платы в IDE все библиотеки и софт установил. Но при компиляции скетча на эту плату выводит ошибку

kostyamat

  • #8

Какие библиотеки установили? Какую ошибку выдает? Лог компиляции скиньте

  • #9

Какие библиотеки установили? Какую ошибку выдает? Лог компиляции скиньте

Библиотеки ставил какие с проектом шли, а также какие для платы предлагали.

Arduino: 1.8.10 (Windows 7), Плата:»WAVGAT NANO 3.0″
Внимание: platform.txt из ядра ‘Arduino AVR Boards’ содержит устаревшие recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{build.path}/{archive_file}» «{object_file}», автоматически преобразовано в recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{archive_file_path}» «{object_file}». Ожидайте обновления ядра.
E:SISTEMDownloadsБУДИЛЬНИК-РАССВЕТDawn-Clock-masterfirmwaredawn_clock_v1.1tmpdawn_clock_v1.1dawn_clock_v1.1.ino: In function ‘void encoderTick()’:
dawn_clock_v1.1:299:14: error: ‘class EEPROMClass’ has no member named ‘update’
dawn_clock_v1.1:300:14: error: ‘class EEPROMClass’ has no member named ‘update’
dawn_clock_v1.1:333:14: error: ‘class EEPROMClass’ has no member named ‘update’
Несколько библиотек найдено для «GyverEncoder.h»
Используется: E:SISTEMDownloadsarduino-1.8.10-windows_2020arduino-1.8.10librariesGyverEncoder
Несколько библиотек найдено для «GyverTM1637.h»
Используется: E:SISTEMDownloadsarduino-1.8.10-windows_2020arduino-1.8.10librariesGyverTM1637
Несколько библиотек найдено для «CyberLib.h»
Используется: E:SISTEMDownloadsarduino-1.8.10-windows_2020arduino-1.8.10librariesCyberLib
Несколько библиотек найдено для «Wire.h»
Используется: E:SISTEMDownloadsarduino-1.8.10-windows_2020arduino-1.8.10librariesWire
Несколько библиотек найдено для «RTClib.h»
Используется: E:SISTEMDownloadsarduino-1.8.10-windows_2020arduino-1.8.10librariesRTClib
Несколько библиотек найдено для «EEPROM.h»
Используется: E:SISTEMDownloadsarduino-1.8.10-windows_2020arduino-1.8.10librariesE2PROM
Несколько библиотек найдено для «GyverTimer.h»
Используется: E:SISTEMDownloadsarduino-1.8.10-windows_2020arduino-1.8.10librariesGyverTimer
exit status 1
‘class EEPROMClass’ has no member named ‘update’

kostyamat

  • #10

Замените все вызовы EEPROM.update() на EEPROM.write() должно откомпилироваться

  • #11

Теперь просто «Ошибка компиляции для платы WAVGAT NANO 3.0.»
и лог ооочень длинный
А что это вначале лога устаревшее, может изза этого ошибка?
«Внимание: platform.txt из ядра ‘Arduino AVR Boards’ содержит устаревшие recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{build.path}/{archive_file}» «{object_file}», автоматически преобразовано в recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{archive_file_path}» «{object_file}». Ожидайте обновления ядра.
C:Program Files (x86)111ArduinolibrariesGyverTM1637GyverTM1637.cpp: In member function ‘void GyverTM1637::display(uint8_t*)’:»

«

  • 10.5 KB
    Просмотры: 24

  • #12

Такое ощущение что эта программа на вавгате не заработает. У вавгата какоето несварение на библиотеки от AlexGyvera

kostyamat

  • #13

Такое ощущение что эта программа на вавгате не заработает. У вавгата какоето несварение на библиотеки от AlexGyvera

Гайвер пишет хорошо, но очень уж неаккуратно. О чем и говорит лог. К примеру: функция ожидает значения типа int, а получает byte, или возврат значения из функции типа void. Компилятор под avr такого уже «насмотрелся» и поэтому матерится, но автоматически исправляет некоторые ошибки. А для этой платы он ещё «молодой и жизни не видел». Вот поэтому такое.

Ещё раз, рекомендую удалить все, что у вас установлено под эту плату, и поставить ЭТОТ кор https://github.com/dbuezas/lgt8fx все остальное, что гуляет в сети, будет выносить вам мозг (хотя и этот кор ещё не идеален, но стремится к этому). Ставьте кор через json, он будет вовремя обновляться.
И таки включите вывод полного лога компиляции. Возможно что то, что валит компиляцию, как раз и не видно. Потому как ошибки выше, относящиеся к экрану, хоть и ошибки — но это скорее предупреждения. Если бы компилятор не знал как их исправить, он бы завалился б на первой же. А так матерится, но идёт дальше.

Изменено: 17 Янв 2020

  • #14

@kostyamat,
Спасибки большое!!! По крайней мере компилируется. и не ругается. Подскажи а частоту какую ставить. плата вавгата на 12MHz.Screenshot_14.jpg

kostyamat

  • #15

Подскажи а частоту какую ставить. плата вавгата на 12MHz

Честно говоря — я не знаю. Именно такой платы у мен не было. Кварц не стандартный. Попробуйте поставить 16МГц.

Вообще-то, этот чип очень даже неплох, в некоторых случаях он даже на много круче оригинала. Исходя из того, что энтузиасты активно делают под него кор, и на данный момент он вполне работоспособен, то брать платы на LGT8F328 можно, лично у меня есть парочка и я очень доволен ими.
Но брать рекомендую только такие как ниже, а вот Вавгат рекомендовать не могу. Там много ошибок как в схемотехнике, так и кварц тот-же странный.
Кстати, а кварц точно к микроконтроллеру подключен, а не к микросхеме UART-USB моста? Потому, как сам контроллер вообще без кварца вполне работоспособен, при чем даже на частоте 32МГц. Присмотритесь. Если кварц для моста, — ставьте любую частоту, хоть все 32МГц.

  • LGT8F328P.png

    152.4 KB
    Просмотры: 21

Изменено: 19 Янв 2020

  • #16

Кварца стоит 2 на контроллер, и на UART . Заливал блинк, при установке внешней частоты что 8м, 16м что 32м мигание идет вместо 1сек около 3сек. При установке внутренней частоты, блинк работает чётко и 8м и на 32м.
Залил прошивку будильник-рассвет, и компелировась и заливалась быстро и без ошибок. При внутренней частоте 32м, 16м работает немного глючно -подвисает, на дисплее цифры непонятные проскакивают, мигает периодически. Постабильнее работает при частоте 4м и 2м но тоже не без греха.

kostyamat

  • #17

@Ploki30, эту проблему обсуждали на форуме arduino.ru. Дело в том, что на Вавгат есть ошибка в схемотехнике. Там какая-то нога микроконтроллера висит в воздухе, а должна быть подтянута к питанию. Как результат, часть выводов выдает 3.3в вместо ожидаемых 5-ти. Некоторая периферия, рассчитанная на подключение к обычным ардуинам, и ожидающая уровень единицы близкой к 5 вольтам, работает со сбоями. Какая нога и т.п. не подскажу, не углублялся в тему.
К тому же, если помните, у вас были предупреждения об ошибках как раз с экраном. Компилятор то их исправил (на свое усмотрение), но как он это сделал, именно для этой платы, никому не известно. Вполне возможно, что для атмега он исправляет так, что все это остаётся работоспособным, а для LGT — косячит, и результат менее предсказуем.

Изменено: 20 Янв 2020

  • #18

@kostyamat, Всётаки больше проблема не изза платы вавгат, а или прошивки или библиотек, на обыкновенной собранной схеме на плате NANO, на экране будильника-рассвета, периодически вылетает билеберда .

kostyamat

  • #19

@Ploki30, вполне возможно. Я уже говорил, что скетч написан достаточно неряшливо. У автора была задача видео записать, а не чтобы работало всегда четко. В принципе это не в обиду автору скетча, все таки это у него специфика такая. К тому же, это заставляет людей, которым это нужно, пробовать себя в программировании, дабы прошивку подправить, или под себя чего-то доделать.

  • #20

Всем доброго времени суток! Помогите пожалуйста. Хочу сделать Ambilight подсветку. Но столкнулся с проблемой: не могу откомпилировать скетч. Все время ругается на библиотеку от Гайвера.
Несколько библиотек найдено для «FastLED.h»
Используется: C:Program
exit status 1
Ошибка компиляции для платы WAVGAT UNO R3.

Плата Wavgat Uno R3

  • 37.4 KB
    Просмотры: 12

  • #21

Не знаю, что там у Вас с LG8 не получается с EEPROM. Берите модуль часов с EEPROM на борту. Меняйте хоть на 256 килобитную и в путь. Она на той же шине будет висеть. И еще в нее можно все текстовые константы загнать и считывать при необходимости. А уж 32 Мгц тактовой хватит для производительности. Заодно и место во флеше освободите под программу.

Задаете массивчик временный, например char rdata[32]; в него считываете данные из EEPROM. Потом выводите куда там надо. На дисплей, в UART. Перед следующим использованием почистить.

}

char rdata[32];

readEEPROM(0x50, 0, rdata, 20);   - грузим с внешней EEPROM
Serial.println((char*)rdata);             - Выводим в UART
memset(rdata, 0, sizeof(rdata));    -Чистим память под массив


Сама функция
void readEEPROM(int deviceaddress, unsigned int eeaddress, unsigned char* data, unsigned int num_chars) {
  unsigned char i = -1;
  Wire.beginTransmission(deviceaddress);
  Wire.write((int)(eeaddress >> 8));   // MSB
  Wire.write((int)(eeaddress & 0xFF)); // LSB
  Wire.endTransmission();
  Wire.requestFrom(deviceaddress, num_chars);

  while (Wire.available()) data[i++] = Wire.read();



}

Далее вместо стандартной analogRead() используйте вот эту:

unsigned int analogRead_C(byte channel){
  ADMUX = channel; // ADC pin
  ADCSRA |= 1<<ADEN;
  ADCSRA |= 1<<ADSC;
  while(!(ADCSRA & (1<<ADIF)));
  ADCSRA |= 1<<ADIF;
  byte low  = ADCL;
  byte high = ADCH;
  ADCSRA &= ~(1 << ADEN);  // отключаем АЦП, для уменьшения энергопотребления
  return (high << 8) | low;
}

Там для оптимизации кода непаханное поле. Того глядишь еще и места полно останется свободного.

Изменено: 30 Янв 2020

  • #22

Здравствуйте.
Купил «китайскую» Arduino nano.
Драйвера установились нормально.
Прошил «Blink». Прошивка прошла успешно. Диод заморгал. Но частота моргания в 4 раза меньше, чем заданно.
Например при указании времени горения 10 секунд, светодиод горит 40 секунд.
Подскажите пожалуйста, из-за чего такое происходит и как с этим бороться?2.png

У меня arduina такая
IMG_20200130_201100.jpg
на верхнем кварце написано x 0z, на нижнем — Z0L. На какую частоту они рассчитаны я не нашел.

А как в arduino ide изменить частоту?
При выборе типа процессора предлагает 3 варианта и в них не указывается рабочая частота:
1580409774953.png

Так же при выборе платы только один вариант Arduino nano и рабочая частота не указана.

Скетч взят из примеров. Называется «Blink»
В нем изменял только время задержки.
1580410716442.png

  • 1580409656280.png

    65.5 KB
    Просмотры: 26

  • #24

@Ploki30, Чтобы эта плата адекватно работала в АВР COre надо пересобрать ее загрузчик на 16 Мгц внутреннего генератора.

  • #25

@yuryboyko, Возле кварца белым по черному написано 12 Мгц. Если дороги с кварца идут на камешек, то поменяйте на 16 Мгц. Тайминги встанут на место. Но скорее всего он на камень идет.

  1. При выполнении данного кода

    #include <DHT_U.h>

    // тип датчика DHT
    #define DHTTYPE DHT11

    DHT11
    int pinDHT11=9;

    int pinSoilMoisture=A0;

    int pinTMP36=A1;

    int pinPhotoresistor=A2;

    DHT dht(pinDHT11, DHTTYPE);

    void setup()
    {
    Serial.begin(9600);
    dht.begin();
    }

    void loop()
    {
    float h = dht.readHumidity();
    if (isnan(h))
    {
    Serial.println(«Failed to read from DHT»);
    }
    else
    {
    Serial.print(«HumidityDHT11= «); Serial.print(h);Serial.println(» %»);
    }
    int val0=analogRead(pinSoilMoisture);
    Serial.print(«SoilMoisture= «); Serial.println(val0);

    int val1=analogRead(pinTMP36);
    int mV=val1*1000/1024;
    int t=(mV500)/10;
    Serial.print(«TempTMP36= «); Serial.print(h);Serial.println(» C»);
    int val2=analogRead(pinPhotoresistor);
    Serial.print(«Light= «); Serial.println(val2);

    Serial.println( );
    delay(5000);
    }

    выходит ошибка

    Arduino: 1.8.9 (Windows 10), Плата:»WAVGAT UNO R3″

    Внимание: platform.txt из ядра ‘Arduino AVR Boards’ содержит устаревшие recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{build.path}/{archive_file}» «{object_file}», автоматически преобразовано в recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{archive_file_path}» «{object_file}». Ожидайте обновления ядра.
    In file included from C:UsersdosDesktopsketch_apr23asketch_apr23a.ino:1:0:

    C:UsersdosDocumentsArduinolibrariesDHT_sensor_library/DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    compilation terminated.

    exit status 1
    Ошибка компиляции для платы WAVGAT UNO R3.

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

  2. Скорее всего, в библиотеке есть коды под определённые атмеги , а вавгатовского чипа (lgt8) там нет . Загляни по представленному пути.
    У меня с библиотекой серво на этой плате таже проблема.

  3. marting
    английский понимаете?
    вот вам компилятор пишет:
    Adafruit_Sensor.h: No such file or directory

    Последнее редактирование: 23 апр 2019

  4. барахло от Вавгата лучше не покупать

  5. Фаил библиотеки не находит.

  6. Боком выходит? Или как?Это лохам не даст. Нормальным пацанам пусть попробует не дать!Не всегда.Строки — самая большая условность в жизни. Они есть грань меж бытия и небытия, они существуют параллельно нам, никогда не пересекая нас. Познать строку — познать себя. Позная себя, можно определить грань бытия, грань материального, вечного…Ладно, ладно шучу.

    Дело в том, что как я называю «строка» — на самом деле условность. На данном экране функция setCursor() — определяется по пиксельно сначала ось x, потом y. Почему я говорю строка? Так удобней, да и как это иначе назвать. Например, взяв лист А4 вы увидите на нем, то самое ничего. Вы можете написать на нем, что-либо, например слова в строку. Чем больше шрифт, тем меньше на него поместиться. Как-то так. Да, есть и переменные типа string, которые также я называю «строками», но я указываю, что ето есть переменная. Со столбцами тажа лажа. Ну, ето если я вас, товарищ, правильно понял

    О, новый камрад, превед! Боюсь, что если поставить динамичные аргументы, выйдет небольшая (а возможно и большая лажа) абесню:
    У меня одна строка, которая состоит из кучи других. Перед ней стоит setCursor(), в котором изначально заложено положение первого пикселя, который будет напечатан. Если в процессе мы, товарищ, изменим эти аргументы, то 1-ый пиксель просто сместится и надпись вместе с ним. Разделения не произойдет, т.к. это 1-на строка Если не понятно, я вам могу оформить красочно пару-тройку фотокарточек на эту тему (Канешна в паинте, но энивей), чтобы вы, камрад, точно все понялиТоварищ, а можно с 3-его предложения по-подробней? Слишком обширен ваш словарный запас, оттого понять вас маргинальному пролетариату не представляется возможным, заранее спасибо

    Последнее редактирование модератором: 30 апр 2019

  7. Написано же даже по-русски:

    Жди, пока узкоглазый Ляо сделает тебе библиотеку.
    Есть альтернатива — взять учебник по АВР и накатить знаний. И тогда на дядю Ляо можно положить огромный русский her.

  8. Через менеджер библиотек установил Adafruit Unified Sensor Library.

Hello. I have WAVGAT UNO R3 and it’s not compilling on new versions of Arduino IDE.
Errors:
`Arduino: 1.8.12 (Windows 7), Плата:»WAVGAT UNO R3″

Внимание: platform.txt из ядра ‘Arduino AVR Boards’ содержит устаревшие recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{build.path}/{archive_file}» «{object_file}», автоматически преобразовано в recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{archive_file_path}» «{object_file}». Ожидайте обновления ядра.
ПРЕДУПРЕЖДЕНИЕ: библиотека U8glib должна запускаться на архитектурах avr, sam и может быть несовместима с вашей платой на архитектуре AVR.
W:ArduinohardwareWAV8FAVRcoreslgt8fPrint.cpp: In member function ‘size_t Print::print(const __FlashStringHelper*)’:

W:ArduinohardwareWAV8FAVRcoreslgt8fPrint.cpp:44:23: warning: ‘progmem‘ attribute ignored [-Wattributes]

const char PROGMEM *p = (const char PROGMEM *)ifsh;

librariesHX711_Arduino_LibraryHX711.cpp.o: In function `HX711::~HX711()’:

G:��� ���������ArduinolibrariesHX711_Arduino_Librarysrc/HX711.cpp:224: undefined reference to `operator delete(void*, unsigned int)’

collect2.exe: error: ld returned 1 exit status

exit status 1
Ошибка компиляции для платы WAVGAT UNO R3.

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

On other UNO (not WAVGAT) no errors on same sketch.

Некит

Новичок
Сообщения: 8
Зарегистрирован: 26 июн 2017, 19:34
Репутация: 0
Настоящее имя: Некит
Контактная информация:

Re: Помогите с GRBL

Некит писал(а):

Rom327 писал(а):

Некит писал(а):А грбл ее возьмет?

У меня работает… Попробуй этот код:

Принцип понял. Попробую. О результатах отпишусь

Попробовал — ни в какую не выходит. Только по частям принимает. Все так же жрет 1,7гб оперативы и runtime error. НО. Есть одна вещь — у меня джэкод как то не так выглядит, как у Вас. Вы какой прогой генерируете файл? Я пользуюсь ArtCam 2012. Может с ним что?

Аватара пользователя

iMaks-RS

Мастер
Сообщения: 1681
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 185
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Помогите с GRBL

Сообщение

iMaks-RS » 11 май 2018, 16:56

проблема в том, что скорость порта в ПО не совпадает со скоростью порта в ОС.. Зайдите в диспетчер устройств и в настройках сом-порта поставьте 115200. А так-же задайте номер порта адекватный.. 23.. это как-то слишком.. поставьте от 1 до 4

ser_ega

Новичок
Сообщения: 12
Зарегистрирован: 11 май 2018, 15:13
Репутация: 0
Контактная информация:

Re: Помогите с GRBL

Сообщение

ser_ega » 11 май 2018, 19:31

скорость в по ставил разные, а вот в диспетчере стоит 9600.

Аватара пользователя

iMaks-RS

Мастер
Сообщения: 1681
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 185
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Помогите с GRBL

Сообщение

iMaks-RS » 11 май 2018, 19:49

Ну так.. поменять нужно…. по умолчанию GRBL прошивка общается с компом на 115200.. если комп будет принимать на скорости 9600.. естественно ни какой связи не будет.. Номер порта меняется в отдельном окне, которое открывает по нажатию кнопки «дополнительно» в настройках сом-порта

ser_ega

Новичок
Сообщения: 12
Зарегистрирован: 11 май 2018, 15:13
Репутация: 0
Контактная информация:

Re: Помогите с GRBL

Сообщение

ser_ega » 14 май 2018, 08:42

поменял и номер порта и скорость порта.
1. Grbl Controller — постоянно выдает — — > (CTRL-X) No data from COM port after connect. Expecting Grbl version string.
2. UniversalGcodeSender-v1.0.7 — пишет — **** Connected to COM2 @ 115200 baud **** но на команды молчит.
3. Arduino монитор порта, так и выдает кучу квадратиков x⸮x⸮x⸮x⸮x⸮x⸮⸮

ser_ega

Новичок
Сообщения: 12
Зарегистрирован: 11 май 2018, 15:13
Репутация: 0
Контактная информация:

Re: Помогите с GRBL

Сообщение

ser_ega » 14 май 2018, 09:20

Кварцы моей Arduinы оба на 12 Mhz. Это правильно?
В файлах grbl вижу 16 mhz стоит!.

Вложения
IMG_20180514_091640.jpg (7209 просмотров) <a class='original' href='./download/file.php?id=138918&sid=e7cb35a09fc41ca8142dc35d2bb8d388&mode=view' target=_blank>Загрузить оригинал (1.81 МБ)</a>

Аватара пользователя

iMaks-RS

Мастер
Сообщения: 1681
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 185
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Помогите с GRBL

Сообщение

iMaks-RS » 14 май 2018, 10:00

Есть опыт весьма странного поведения системы НовыйПК-Ардуино под сч340… не знаю какая связь, но на современных платах — у которых чипсете 100 и выше, а так-же «комбайнах» — когда в процессор встроены север и юг.. сом-порт появляется, но связи нет.. пока не запаяешь резисторы последовательно D+/D-. Тогда ардуина нормально видится.. но.. если такую плату, подключить к компу 5-10 летней давности.. то винда не может идентифицировать сч430.. пишет незивестное устройство… ставишь вместо резисторов перемычку — и вау-ля.. и сом-порт есть и связь с чипом есть.. У меня есть пара таких плат, от бренда RobotDyn… с надписью «Разработано в России» — кварц 12МГц. Других плат под рукой сейчас нет.. так-что не проверю. Если у тя новый комп, попробуй вместо перемычек по 0 Ом, поставить на 100-220 Ом резисторы… вдруг поможет.. (на плате ардуины, рядом с разъёмом усб.. похоже что эти..)

Аватара пользователя

selenur

Почётный участник
Почётный участник
Сообщения: 4576
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1614
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Помогите с GRBL

Сообщение

selenur » 14 май 2018, 10:41

ser_ega писал(а):Кварцы моей Arduinы оба на 12 Mhz. Это правильно?
В файлах grbl вижу 16 mhz стоит!.

Стандартные ардуино платы используют 16 Мгц кварцы.
В связи с чем в твоем случае ком-порт работает не 115200, а на ~86400

Аватара пользователя

iMaks-RS

Мастер
Сообщения: 1681
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 185
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Помогите с GRBL

Сообщение

iMaks-RS » 14 май 2018, 10:47

либо в автоустановщик не те кварцы зарядили.. либо на чипы бракованные… и на 16Мгц не работает… надо.. хм.. надо проверить эту теорию..

ser_ega

Новичок
Сообщения: 12
Зарегистрирован: 11 май 2018, 15:13
Репутация: 0
Контактная информация:

Re: Помогите с GRBL

Сообщение

ser_ega » 18 май 2018, 11:48

selenur писал(а):

ser_ega писал(а):Кварцы моей Arduinы оба на 12 Mhz. Это правильно?
В файлах grbl вижу 16 mhz стоит!.

Стандартные ардуино платы используют 16 Мгц кварцы.
В связи с чем в твоем случае ком-порт работает не 115200, а на ~86400

Что же делать теперь? такой скорости в чекбоксе не предлагается.

Перепаять кварц поможет?

проанализировал файлы board.txt
вижу разницу
этой файл моей ардиуны, которые скачаны на сайте продавца.

Код: Выделить всё

lardu_328p.name= WAVGAT UNO R3
lardu_328p.upload.tool=avrdude
lardu_328p.upload.protocol=arduino
lardu_328p.upload.maximum_size=29696
lardu_328p.upload.speed=57600
lardu_328p.bootloader.tool=avrdude
lardu_328p.bootloader.high_fuses=0xff
lardu_328p.bootloader.low_fuses=0xff
lardu_328p.bootloader.extended_fuses=0x07
lardu_328p.bootloader.path=lgt8fx8p
lardu_328p.bootloader.file=lgt8fx8poptiboot_lgt8f328p.hex
lardu_328p.bootloader.unlock_bits=0x3f
lardu_328p.bootloader.lock_bits=0x3f
lardu_328p.build.mcu=atmega328p
lardu_328p.build.f_cpu=16000000L
lardu_328p.build.core=lgt8f
lardu_328p.build.variant=lgt8fx8p
lardu_328p.build.board=AVR_LARDU_328E

Код: Выделить всё

uno.name=Arduino/Genuino Uno
uno.vid.0=0x2341
uno.pid.0=0x0043
uno.vid.1=0x2341
uno.pid.1=0x0001
uno.vid.2=0x2A03
uno.pid.2=0x0043
uno.vid.3=0x2341
uno.pid.3=0x0243
uno.upload.tool=avrdude
uno.upload.protocol=arduino
uno.upload.maximum_size=32256
uno.upload.maximum_data_size=2048
uno.upload.speed=115200
uno.bootloader.tool=avrdude
uno.bootloader.low_fuses=0xFF
uno.bootloader.high_fuses=0xDE
uno.bootloader.extended_fuses=0xFD
uno.bootloader.unlock_bits=0x3F
uno.bootloader.lock_bits=0x0F
uno.bootloader.file=optiboot/optiboot_atmega328.hex
uno.build.mcu=atmega328p
uno.build.f_cpu=16000000L
uno.build.board=AVR_UNO
uno.build.core=arduino
uno.build.variant=standard

как вижу о 12Мгц и речи нет, есть шанс что поможет простая перепайка кварца?

Тогда вопрос, почему Arduina работает если залить простейший пример Blink?

Petry40

Новичок
Сообщения: 7
Зарегистрирован: 19 сен 2018, 21:28
Репутация: 0
Настоящее имя: Petro
Контактная информация:

Re: Помогите с GRBL

Сообщение

Petry40 » 19 сен 2018, 21:34

Ребята всем привет ! Помогите я новичек в ардуино ! Купил копию uno r3 wavgat! Но программа для ЧПУ grbl не хочет прошиватся ! Пишет что программа не предназначена для данного контроллера ! Тестовая программа blink работает ! Как быть где достать рабочую grbl для wavgat!

Аватара пользователя

iMaks-RS

Мастер
Сообщения: 1681
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 185
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Помогите с GRBL

Сообщение

iMaks-RS » 19 сен 2018, 21:43

прошивку положили как положено в инструкции? Библиотеки/прошивка должны находиться в домашнем каталоге пользователя..
У меня в подписи линк на инструкцию.. вот содержание:
«
0. Скачать и установить Arduino IDE с сайта http://www.arduino.cc
1. Скачать архив grbl-master с GitHub
2. Извлечь содержимое архива куда удобно
3. В папке содержимого архива, найти папку grbl и скопировать её в библиотеки Arduino IDE (библиотеки лежат в каталоге пользователя (ОС Windows) — C:UsersИмяПользователяDocumentsArduinolibraries

«

Petry40

Новичок
Сообщения: 7
Зарегистрирован: 19 сен 2018, 21:28
Репутация: 0
Настоящее имя: Petro
Контактная информация:

Re: Помогите с GRBL

Сообщение

Petry40 » 19 сен 2018, 22:17

Ошибка компиляции для платы WAVGAT UNO R3 СКЕЧ СЛИШКОМ БОЛЬШОЙ ! Я делал усе так как вы написали …

Аватара пользователя

iMaks-RS

Мастер
Сообщения: 1681
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 185
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Помогите с GRBL

Сообщение

iMaks-RS » 19 сен 2018, 23:10

Ошибку выдаёт, но запись всё равно происходит.. У Вас же 328я мега, а не 168я?

Petry40

Новичок
Сообщения: 7
Зарегистрирован: 19 сен 2018, 21:28
Репутация: 0
Настоящее имя: Petro
Контактная информация:

Re: Помогите с GRBL

Сообщение

Petry40 » 19 сен 2018, 23:19

Mega 328p WAVGAT ,пишет что прошивка занимает 103% , запись не происходит так как на плате дальше мигает диод с тестовой программы! Возможно перед записью нужно как то стирать старые программы или они стираются перед записью?

Petry40

Новичок
Сообщения: 7
Зарегистрирован: 19 сен 2018, 21:28
Репутация: 0
Настоящее имя: Petro
Контактная информация:

Re: Помогите с GRBL

Сообщение

Petry40 » 19 сен 2018, 23:32

Пишет скеч использует 30746 байт а доступно 29696 байт где можно скачать прошивку чуть поменьше ?

Аватара пользователя

iMaks-RS

Мастер
Сообщения: 1681
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 185
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Помогите с GRBL

Сообщение

iMaks-RS » 19 сен 2018, 23:41

хочу спать уже.. опыты со своей ардуиной проведу завтра.. Попробуй разные версии.. от 0,8 до 1.1.. GRBL как-бы затачивался под 328ю мегу.. может китайца глючный контроллер поставила в дуину? :wik: У меня же были «странности» с мега2560, на поиск решения которых ушло полтора дня.. так-что.. не исключено.. :freak:

ser_ega

Новичок
Сообщения: 12
Зарегистрирован: 11 май 2018, 15:13
Репутация: 0
Контактная информация:

Re: Помогите с GRBL

Сообщение

ser_ega » 20 сен 2018, 06:26

Вот и меня таже беда. Купил другую Ардуину теперь работает. Может можна вылечить Wavgat имея вторую рабочую?

Аватара пользователя

iMaks-RS

Мастер
Сообщения: 1681
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 185
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Помогите с GRBL

Сообщение

iMaks-RS » 20 сен 2018, 08:37

чип перепаять на заведомо исправный.. и потом прошить загрузчиком..

04.11.2020 в 01:47, TDA сказал:

Валкодер современнее;)

Полностью переписав навигацию по меню.

Можно. Не нужно, если двигатели 200 шагов на оборот.

Внимательно проверяем схему, еще возможно контрастность крутим.

image.thumb.png.ccfc45aaf5327526f2c5b437291c2cf7.png

блин, заработало, правда я так и не понял почему. Сначала на дисплей вывелись черные квадраты. Потом снизив контрастность появились сиволы рандомные, типа слетевшей кодировки. Потом после перезагрузки текст меню и прочее. MAGIC/// работаю кстати по старым прошивкам 2.2 и 2.0 , новую компилировать отказался

Внимание: platform.txt из ядра ‘Arduino AVR Boards’ содержит устаревшие recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{build.path}/{archive_file}» «{object_file}», автоматически преобразовано в recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{archive_file_path}» «{object_file}». Ожидайте обновления ядра.
C:UsersEvgenyDownloadsArduino_winding_machine_2.4bArduino_winding_machine_2.4b.ino:56:0: warning: «D4» redefined

 #define D4        16

 ^

In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,

                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,

                 from sketchArduino_winding_machine_2.4b.ino.cpp:1:

C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/../standard/pins_arduino.h:85:0: note: this is the location of the previous definition

 #define D4 4 /* PD4 */

 ^

C:UsersEvgenyDownloadsArduino_winding_machine_2.4bArduino_winding_machine_2.4b.ino:57:0: warning: «D5» redefined

 #define D5        17

 ^

In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,

                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,

                 from sketchArduino_winding_machine_2.4b.ino.cpp:1:

C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/../standard/pins_arduino.h:86:0: note: this is the location of the previous definition

 #define D5 5 /* PD5 */

 ^

C:UsersEvgenyDownloadsArduino_winding_machine_2.4bArduino_winding_machine_2.4b.ino:58:0: warning: «D6» redefined

 #define D6        18

 ^

In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,

                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,

                 from sketchArduino_winding_machine_2.4b.ino.cpp:1:

C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/../standard/pins_arduino.h:87:0: note: this is the location of the previous definition

 #define D6 6 /* PD6 */

 ^

C:UsersEvgenyDownloadsArduino_winding_machine_2.4bArduino_winding_machine_2.4b.ino:59:0: warning: «D7» redefined

 #define D7        19

 ^

In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,

                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,

                 from sketchArduino_winding_machine_2.4b.ino.cpp:1:

C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/../standard/pins_arduino.h:88:0: note: this is the location of the previous definition

 #define D7 7 /* PD7 */

 ^

In file included from C:UsersEvgenyDocumentsArduinolibrariesAccelStepper-1.61.0srcAccelStepper.cpp:6:0:

C:UsersEvgenyDocumentsArduinolibrariesAccelStepper-1.61.0srcAccelStepper.cpp: In member function ‘void AccelStepper::runToPosition()’:

C:UsersEvgenyDocumentsArduinolibrariesAccelStepper-1.61.0srcAccelStepper.h:274:22: error: ‘yield’ was not declared in this scope

  #define YIELD yield();

                      ^

C:UsersEvgenyDocumentsArduinolibrariesAccelStepper-1.61.0srcAccelStepper.cpp:616:2: note: in expansion of macro ‘YIELD’

  YIELD; // Let system housekeeping occur

  ^

exit status 1
Ошибка компиляции для платы WAVGAT UNO R3.
 

СОДЕРЖАНИЕ ►

  • Произошла ошибка при загрузке скетча в Ардуино
    • programmer is not responding
    • a function-definition is not allowed arduino ошибка
    • expected initializer before ‘}’ token arduino ошибка
    • ‘что-то’ was not declared in this scope arduino ошибка
    • No such file or directory arduino ошибка
  • Compilation error: Missing FQBN (Fully Qualified Board Name)

Ошибки компиляции Arduino IDE возникают при проверке или загрузке скетча в плату, если код программы содержит ошибки, компилятор не может найти библиотеки или переменные. На самом деле, сообщение об ошибке при загрузке скетча связано с невнимательностью самого программиста. Рассмотрим в этой статье все возможные ошибки компиляции для платы Ардуино UNO R3, NANO, MEGA и пути их решения.

Произошла ошибка при загрузке скетча Ардуино

Самые простые ошибки возникают у новичков, кто только начинает разбираться с языком программирования Ардуино и делает первые попытки загрузить скетч. Если вы не нашли решение своей проблемы в статье, то напишите свой вопрос в комментариях к этой записи и мы поможем решить вашу проблему с загрузкой (бесплатно!).

avrdude: stk500_recv(): programmer is not responding

Что делать в этом случае? Первым делом обратите внимание какую плату вы используете и к какому порту она подключена (смотри на скриншоте в правом нижнем углу). Необходимо сообщить Arduino IDE, какая плата используется и к какому порту она подключена. Если вы загружаете скетч в Ардуино Nano V3, но при этом в настройках указана плата Uno или Mega 2560, то вы увидите ошибку, как на скриншоте ниже.

Ошибка: programmer is not responding

Ошибка Ардуино: programmer is not responding

Такая же ошибка будет возникать, если вы не укажите порт к которому подключена плата (это может быть любой COM-порт, кроме COM1). В обоих случаях вы получите сообщение — плата не отвечает (programmer is not responding). Для исправления ошибки надо на панели инструментов Arduino IDE в меню «Сервис» выбрать нужную плату и там же, через «Сервис» → «Последовательный порт» выбрать порт «COM7».

a function-definition is not allowed here before ‘{‘ token

Это значит, что в скетче вы забыли где-то закрыть фигурную скобку. Синтаксические ошибки IDE тоже распространены и связаны они просто с невнимательностью. Такие проблемы легко решаются, так как Arduino IDE даст вам подсказку, стараясь отметить номер строки, где обнаружена ошибка. На скриншоте видно, что строка с ошибкой подсвечена, а в нижнем левом углу приложения указан номер строки.

Ошибка: a function-definition is not allowed

Ошибка: a function-definition is not allowed here before ‘{‘ token

expected initializer before ‘}’ token   expected ‘;’ before ‘}’ token

Сообщение expected initializer before ‘}’ token говорит о том, что вы, наоборот где-то забыли открыть фигурную скобку. Arduino IDE даст вам подсказку, но если скетч довольно большой, то вам придется набраться терпения, чтобы найти неточность в коде. Ошибка при компиляции программы: expected ‘;’ before ‘}’ token говорит о том, что вы забыли поставить точку с запятой в конце командной строки.

‘что-то’ was not declared in this scope

Что за ошибка? Arduino IDE обнаружила в скетче слова, не являющиеся служебными или не были объявлены, как переменные. Например, вы забыли продекларировать переменную или задали переменную ‘DATA’, а затем по невнимательности используете ‘DAT’, которая не была продекларирована. Ошибка was not declared in this scope возникает при появлении в скетче случайных или лишних символов.

Ошибка Ардуино: was not declared in this scope

Ошибка Ардуино: was not declared in this scope

Например, на скриншоте выделено, что программист забыл продекларировать переменную ‘x’, а также неправильно написал функцию ‘analogRead’. Такая ошибка может возникнуть, если вы забудете поставить комментарий, написали функцию с ошибкой и т.д. Все ошибки также будут подсвечены, а при нескольких ошибках в скетче, сначала будет предложено исправить первую ошибку, расположенную выше.

exit status 1 ошибка компиляции для платы Arduino

Данная ошибка возникает, если вы подключаете в скетче библиотеку, которую не установили в папку libraries. Например, не установлена библиотека ИК приемника Ардуино: fatal error: IRremote.h: No such file or directory. Как исправить ошибку? Скачайте нужную библиотеку и распакуйте архив в папку C:Program FilesArduinolibraries. Если библиотека установлена, то попробуйте скачать и заменить библиотеку на новую.

exit status 1 Ошибка компиляции для Arduino Nano

exit status 1 Ошибка компиляции для платы Arduino Nano

Довольно часто у новичков выходит exit status 1 ошибка компиляции для платы arduino uno /genuino uno. Причин данного сообщения при загрузке скетча в плату Arduino Mega или Uno может быть огромное множество. Но все их легко исправить, достаточно внимательно перепроверить код программы. Если в этом обзоре вы не нашли решение своей проблемы, то напишите свой вопрос в комментариях к этой статье.

missing fqbn (fully qualified board name)

Ошибка возникает, если не была выбрана плата. Обратите внимание, что тип платы необходимо выбрать, даже если вы не загружаете, а, например, делаете компиляцию скетча. В Arduino IDE 2 вы можете использовать меню выбора:
— список плат, которые подключены и были идентифицированы Arduino IDE.
— или выбрать плату и порт вручную, без подключения микроконтроллера.

  • #1

АХТУНГ!
Вставка от модератора:
Подробное руководство по загрузке прошивки в Ардуино от Алекса Гайвера:

Прежде чем строчить сообщения, внимательно ознакомьтесь!!!

=====================================================================================================

Здраствуйте, у меня возникла ошибка с компиляцией скетча, всё сделал по инструкции, несколько раз всё перепроверил, но всё равно возникает ошибка
Arduino: 1.6.4 (Windows 7), Плата»Arduino Nano, ATmega328″

In file included from C:Program FilesArduinolibrariesLCD_1602_RUS-master/LCD_1602_RUS.h:1:0,
from money_box_counter.ino:35:
C:Program FilesArduinolibrariesLCD_1602_RUS-master/LiquidCrystal_I2C.h:7:18: fatal error: Wire.h: No such file or directory
#include <Wire.h>
^
compilation terminated.
Ошибка компиляции.

Безымянный.png

Изменено: 19 Мар 2020

  • #2

Написано же четко.
fatal error: Wire.h: No such file or directory
#include <Wire.h>
библеотека Wire.h — Данный файл или каталог отсутствует

  • #3

Не могу запрограммировать Arduino. Не было под рукой всех нужных деталей,поэтому сделал на микрофоне,который Алекс НЕ советовал,но вариантов не было. Суть не в этом. Вылезает ошибка компиляции. Библиотеки заново копировал по нескольку раз и не помогает. С проектом Ambilight тоже была такая же проблема. Не мог найти какой-то файл. Что делать? OTdrAa-0H7k.jpg1546930986412.png

  • #4

Всем привет!

Нужна помощь, скетч «CUBE_Gyver.ino» грузится на ура, а вот «CUBE_Gyver_v2.ino». Библиотека GyverButton взята из архива с проектом.

G:LEDcube-masterCUBE_Gyver_v2CUBE_Gyver_v2.ino: In function ‘void setup()’:

CUBE_Gyver_v2:132:9: error: ‘class GButton’ has no member named ‘setStepTimeout’

butt1.setStepTimeout(100); // настрйока интервала инкремента (по умолчанию 800 мс)

^

CUBE_Gyver_v2:133:9: error: ‘class GButton’ has no member named ‘setStepTimeout’

butt2.setStepTimeout(100); // настрйока интервала инкремента (по умолчанию 800 мс)

^

G:LEDcube-masterCUBE_Gyver_v2CUBE_Gyver_v2.ino: In function ‘void loop()’:

CUBE_Gyver_v2:144:13: error: ‘class GButton’ has no member named ‘isClick’

if (butt1.isClick()) {

^

CUBE_Gyver_v2:149:13: error: ‘class GButton’ has no member named ‘isClick’

if (butt2.isClick()) {

^

CUBE_Gyver_v2:155:13: error: ‘class GButton’ has no member named ‘isStep’

if (butt1.isStep()) { // если кнопка была удержана (это для инкремента)

^

CUBE_Gyver_v2:158:13: error: ‘class GButton’ has no member named ‘isStep’

if (butt2.isStep()) { // если кнопка была удержана (это для инкремента)

^

Используем библиотеку SPI версии 1.0 из папки: C:Program Files (x86)ArduinohardwarearduinoavrlibrariesSPI
Используем библиотеку GyverButton в папке: C:Program Files (x86)ArduinolibrariesGyverButton (legacy)
Используем библиотеку GyverHacks в папке: C:Program Files (x86)ArduinolibrariesGyverHacks (legacy)
Используем библиотеку GyverTimer в папке: C:Program Files (x86)ArduinolibrariesGyverTimer (legacy)
Используем библиотеку EEPROM версии 2.0 из папки: C:Program Files (x86)ArduinohardwarearduinoavrlibrariesEEPROM
exit status 1
‘class GButton’ has no member named ‘setStepTimeout’

Если брать самую последнюю версию библиотеки GyverButton отсюда https://community.alexgyver.ru/resources/biblioteka-gyverbutton.1/

для CUBE_Gyver.ino

G:LEDcube-masterCUBE_GyverCUBE_Gyver.ino: In function ‘void setup()’:

CUBE_Gyver:82:9: error: ‘class GButton’ has no member named ‘setIncrStep’

butt1.setIncrStep(5); // настройка инкремента, может быть отрицательным (по умолчанию 1)

^

CUBE_Gyver:83:9: error: ‘class GButton’ has no member named ‘setIncrTimeout’

butt1.setIncrTimeout(100); // настрйока интервала инкремента (по умолчанию 800 мс)

^

CUBE_Gyver:84:9: error: ‘class GButton’ has no member named ‘setIncrStep’

butt2.setIncrStep(-5); // настройка инкремента, может быть отрицательным (по умолчанию 1)

^

CUBE_Gyver:85:9: error: ‘class GButton’ has no member named ‘setIncrTimeout’

butt2.setIncrTimeout(100); // настрйока интервала инкремента (по умолчанию 800 мс)

^

G:LEDcube-masterCUBE_GyverCUBE_Gyver.ino: In function ‘void loop()’:

CUBE_Gyver:106:13: error: ‘class GButton’ has no member named ‘isIncr’

if (butt1.isIncr()) { // если кнопка была удержана (это для инкремента)

^

CUBE_Gyver:107:23: error: ‘class GButton’ has no member named ‘getIncr’

modeTimer = butt1.getIncr(modeTimer); // увеличивать/уменьшать переменную value с шагом и интервалом

^

CUBE_Gyver:109:13: error: ‘class GButton’ has no member named ‘isIncr’

if (butt2.isIncr()) { // если кнопка была удержана (это для инкремента)

^

CUBE_Gyver:110:23: error: ‘class GButton’ has no member named ‘getIncr’

modeTimer = butt2.getIncr(modeTimer); // увеличивать/уменьшать переменную value с шагом и интервалом

^

Используем библиотеку SPI версии 1.0 из папки: C:Program Files (x86)ArduinohardwarearduinoavrlibrariesSPI
Используем библиотеку GyverButton в папке: C:Program Files (x86)ArduinolibrariesGyverButton (legacy)
exit status 1
‘class GButton’ has no member named ‘setIncrStep’

для CUBE_Gyver_v2.ino

C:Program Files (x86)ArduinolibrariesGyverHacksGyverHacks.cpp:326:1: error: prototype for ‘GTimer::GTimer(uint16_t)’ does not match any in class ‘GTimer’

GTimer::GTimer(uint16_t interval) {

^

In file included from C:Program Files (x86)ArduinolibrariesGyverHacksGyverHacks.cpp:1:0:

C:Program Files (x86)ArduinolibrariesGyverHacksGyverHacks.h:99:7: error: candidates are: constexpr GTimer::GTimer(GTimer&&)

class GTimer

^

C:Program Files (x86)ArduinolibrariesGyverHacksGyverHacks.h:99:7: error: constexpr GTimer::GTimer(const GTimer&)

C:Program Files (x86)ArduinolibrariesGyverHacksGyverHacks.h:103:2: error: GTimer::GTimer(uint32_t)

GTimer(uint32_t); // объявление таймера с указанием интервала

^

C:Program Files (x86)ArduinolibrariesGyverHacksGyverHacks.cpp:324:1: error: GTimer::GTimer()

GTimer::GTimer() {}

^

C:Program Files (x86)ArduinolibrariesGyverHacksGyverHacks.cpp:331:6: error: prototype for ‘void GTimer::setInterval(uint16_t)’ does not match any in class ‘GTimer’

void GTimer::setInterval(uint16_t interval) {

^

In file included from C:Program Files (x86)ArduinolibrariesGyverHacksGyverHacks.cpp:1:0:

C:Program Files (x86)ArduinolibrariesGyverHacksGyverHacks.h:104:7: error: candidate is: void GTimer::setInterval(uint32_t)

void setInterval(uint32_t); // установка интервала

^

Используем библиотеку SPI версии 1.0 из папки: C:Program Files (x86)ArduinohardwarearduinoavrlibrariesSPI
Используем библиотеку GyverButton в папке: C:Program Files (x86)ArduinolibrariesGyverButton (legacy)
Используем библиотеку GyverHacks в папке: C:Program Files (x86)ArduinolibrariesGyverHacks (legacy)
Используем библиотеку GyverTimer в папке: C:Program Files (x86)ArduinolibrariesGyverTimer (legacy)
Используем библиотеку EEPROM версии 2.0 из папки: C:Program Files (x86)ArduinohardwarearduinoavrlibrariesEEPROM
exit status 1
Ошибка компиляции для платы Arduino Nano.

p.s тапками не кидайте, опыт с ардуино первый. В имеющейся инфе не нашел ответа.

Александр Симонов


  • #6

Спасибо, помогло.

Взял все три библиотеки оттуда (GyverButton, GyverHacks, GyverTimer).

p.s. а для CUBE_Gyver.ino запихать в одноименную папку .h и .cpp файл библиотеки GyverButton из архива со скетчами (со свежей версией скетч в ошибке).

Изменено: 5 Фев 2019

  • #7

Доброго дня. ничего не могу сделать. При компиляции выдает ошибку
exit status 1
‘GButton’ does not name a type
и подсвечена 38 строчка скетча.
GButton touch(BTN_PIN, LOW_PULL, NORM_OPEN);
Все делал по инструкции.
Может кто-то сталкивался с такой траблой?
и 70 строка
GButton touch(BTN_PIN, LOW_PULL, NORM_OPEN);

ошибка
exit status 1
‘LOW_PULL’ was not declared in this scope

Изменено: 10 Мар 2019

Александр Симонов


  • #8

Библиотека GyverButton не установлена

  • #9

Разобрался сам. в настройках Arduino IDE библиотека бралась не та, которая шла с проектом. Решение — удалил не нужную и ошибка пропала.
Спасибо!

  • #10

Создала проект, сейчас компилятор выводит ошибку. Помогите пожалуйста с этой проблемой, я новенькая в этом деле..

Вот:
In function ‘global constructors keyed to 65535_0_sketch_mar14a.ino.cpp.o’:

lto1.exe: internal compiler error: Segmentation fault

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://gcc.gnu.org/bugs.html> for instructions.

lto-wrapper.exe: fatal error: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.19.0_x86__mdqgnx93n4wtthardwaretoolsavr/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/program files/windowsapps/arduinollc.arduinoide_1.8.19.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.

Александр Симонов


Александр Симонов


  • #12

Ответ, оказывается, есть в гугле. Проблема именно в баге компилятора. Для решения:
1. установить последнюю версию Arduino IDE
2. В меню «Инструменты — Плата — Менеджер плат» найти Arduino AVR Boards, выбрать версию 1.6.21 и установить её.
1552649944200.png

be3um4wka


  • #13

Здравствуйте. Помогите пожалуйста! Хотел собрать в первый раз что-то на ардуино, решил сделать bluetooth матрицу с часами, но на плату не ставится код. Места хватает и драва под плату установил, проблема в чём-то другом. Заранее спасибо…
P.S. Плата не оригинальная. Заказывал с али. Её название: WAVGAT UNO R3.

Александр Симонов


  • #14

Какую конкретно ошибку выдает Arduino IDE при загрузке скетча?

be3um4wka


  • #15

Какую конкретно ошибку выдает Arduino IDE при загрузке скетча?

Ошибка конфигурации платы WAVGAT UNO R3

  • #16

Столкнулся с проблемой при компиляции версии 1.3 в плату (лог во вложении)
Версии 1.1 и 1.2 заливаются без проблем.
Версия софта 1.8.9
Плата Arduino Nano (из ссылки под видео).
В настройках выбираю чип: ATMega328 Старый загрузчик (пробовал и все остальные), плату: Arduino Nano
Пробовал отрубать библиотеки стандартные и брать только из папки с проектом (кроме FastLED-stm32patch — её в версию 1.3 не включено)

В версии 1.3 ошибка fillAll что конкретно правилось? по поиску исправлений не нашёл.

  • 2.9 KB
    Просмотры: 20

pavel lolkek


  • #17

Доброго времяни суток . Можете помочь не могу загрузить прошивку вылазиет такая ошибка :
Arduino: 1.6.5 (Windows 7), Плата»Arduino Nano, ATmega328″

colorMusic_v2.9.ino:195:50: fatal error: FHT.h: No such file or directory
compilation terminated.
Ошибка компиляции.

pavel lolkek


  • #19

прочитал . выбираю архив и выходит это :

Выбранная папка/zip файл не содержит корректных библиотек
Неверная библиотека найдена в C:UsersuserDocumentsArduinolibrariesColorMusic-master: нет заголовочных файлов (.h), найденных в C:UsersuserDocumentsArduinolibrariesColorMusic-master

  • #20

Здравствуйте не могу загрузить скетч в ардуино выдает такую ошибку
(Ошибка компиляции для платы Arduino Nano.
Неверная библиотека найдена в C:Program Files (x86)ArduinolibrariesDHT: нет заголовочных файлов (.h), найденных в C:Program Files (x86)ArduinolibrariesDHT
Неверная библиотека найдена в C:UsersuserDocumentsArduinolibrariessketch_nov30a: нет заголовочных файлов (.h), найденных в C:UsersuserDocumentsArduinolibrariessketch_nov30a) помогите кто чем может. С уважением ко Всем.

  • #21

@Максим3704, либо не та библиотека для датчика температуры. Либо не там лежит. У меня лежит в папке /мои документы /arduino ide /libraries

Библиотеки отличаются для одних и тех же датчиков. Сам перебрал кучу, пока нашёл нужную

be3um4wka


  • #22

Какую конкретно ошибку выдает Arduino IDE при загрузке скетча?

Arduino: 1.8.9 (Windows 10), Плата:"WAVGAT UNO R3"
Внимание: platform.txt из ядра 'Arduino AVR Boards' содержит устаревшие recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", автоматически преобразовано в recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Ожидайте обновления ядра.
In file included from C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/platforms/avr/fastled_avr.h:6:0,
                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/platforms.h:27,
                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/FastLED.h:55,
                 from C:GyverMatrixOS_v1.11GyverMatrixOS_v1.11.ino:137:
C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/platforms/avr/clockless_trinket.h:74:0: warning: "D1" redefined
#define D1(ADJ) DINT(T1,ADJ)
^
In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,
                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,
                 from sketchGyverMatrixOS_v1.11.ino.cpp:1:
c:program files (x86)arduinohardwarewavavrvariantsstandardpins_arduino.h:82:0: note: this is the location of the previous definition
#define D1 1 /* PD1 */
^
In file included from C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/platforms/avr/fastled_avr.h:6:0,
                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/platforms.h:27,
                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/FastLED.h:55,
                 from C:GyverMatrixOS_v1.11GyverMatrixOS_v1.11.ino:137:

C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/platforms/avr/clockless_trinket.h:75:0: warning: "D2" redefined

#define D2(ADJ) DINT(T2,ADJ)

^

In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,

                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,

                 from sketchGyverMatrixOS_v1.11.ino.cpp:1:

c:program files (x86)arduinohardwarewavavrvariantsstandardpins_arduino.h:83:0: note: this is the location of the previous definition

#define D2 2 /* PD2 */

^

In file included from C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/platforms/avr/fastled_avr.h:6:0,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/platforms.h:27,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/FastLED.h:55,

                 from C:GyverMatrixOS_v1.11GyverMatrixOS_v1.11.ino:137:

C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/platforms/avr/clockless_trinket.h:76:0: warning: "D3" redefined

#define D3(ADJ) DINT(T3,ADJ)

^

In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,

                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,

                 from sketchGyverMatrixOS_v1.11.ino.cpp:1:

c:program files (x86)arduinohardwarewavavrvariantsstandardpins_arduino.h:84:0: note: this is the location of the previous definition

#define D3 3 /* PD3 */

^

In file included from C:GyverMatrixOS_v1.11GyverMatrixOS_v1.11.ino:137:0:

C:Program Files (x86)ArduinolibrariesFastLED-stm32patch/FastLED.h:17:21: note: #pragma message: FastLED version 3.002.000

#    pragma message "FastLED version 3.002.000"

                     ^

In file included from C:GyverMatrixOS_v1.11GyverMatrixOS_v1.11.ino:171:0:

sketchtimerMinim.h:10:23: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11

     uint32_t _timer = 0;

                       ^

sketchtimerMinim.h:11:26: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11

     uint32_t _interval = 0;

                          ^

C:GyverMatrixOS_v1.11g_tetris.ino:13:20: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11

uint32_t colors[6] {0x0000EE, 0xEE0000, 0x00EE00, 0x00EEEE, 0xEE00EE, 0xEEEE00};

                    ^

In file included from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchplatforms/avr/fastled_avr.h:6:0,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchplatforms.h:27,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.h:55,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.cpp:2:

C:Program Files (x86)ArduinolibrariesFastLED-stm32patchplatforms/avr/clockless_trinket.h:74:0: warning: "D1" redefined

#define D1(ADJ) DINT(T1,ADJ)

^

In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,

                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchled_sysdefs.h:38,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.h:44,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.cpp:2:

c:program files (x86)arduinohardwarewavavrvariantsstandardpins_arduino.h:82:0: note: this is the location of the previous definition

#define D1 1 /* PD1 */

^

In file included from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchplatforms/avr/fastled_avr.h:6:0,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchplatforms.h:27,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.h:55,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.cpp:2:

C:Program Files (x86)ArduinolibrariesFastLED-stm32patchplatforms/avr/clockless_trinket.h:75:0: warning: "D2" redefined

#define D2(ADJ) DINT(T2,ADJ)

^

In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,

                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchled_sysdefs.h:38,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.h:44,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.cpp:2:

c:program files (x86)arduinohardwarewavavrvariantsstandardpins_arduino.h:83:0: note: this is the location of the previous definition

#define D2 2 /* PD2 */

^

In file included from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchplatforms/avr/fastled_avr.h:6:0,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchplatforms.h:27,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.h:55,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.cpp:2:

C:Program Files (x86)ArduinolibrariesFastLED-stm32patchplatforms/avr/clockless_trinket.h:76:0: warning: "D3" redefined

#define D3(ADJ) DINT(T3,ADJ)

^

In file included from C:Program Files (x86)ArduinohardwareWAVavrvariantslgt8fx8p/pins_arduino.h:36:0,

                 from C:Program Files (x86)ArduinohardwareWAVavrcoreslgt8f/Arduino.h:225,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchled_sysdefs.h:38,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.h:44,

                 from C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.cpp:2:

c:program files (x86)arduinohardwarewavavrvariantsstandardpins_arduino.h:84:0: note: this is the location of the previous definition

#define D3 3 /* PD3 */

^

C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.cpp: In member function 'void CFastLED::delay(long unsigned int)':

C:Program Files (x86)ArduinolibrariesFastLED-stm32patchFastLED.cpp:132:9: error: 'yield' was not declared in this scope

   yield();

         ^

exit status 1

Ошибка компиляции для платы WAVGAT UNO R3.



Этот отчёт будет иметь больше информации с

включенной опцией Файл -> Настройки ->

"Показать подробный вывод во время компиляции"

Изменено: 16 Апр 2019

Wan-Derer


  • #23

@be3um4wka, Дай ссылку на свою плату или сделай фото, крупно чтобы читались все надписи на микросхемах

  • #24

Чтото не заработал полив, собрал все по схеме, вкл через малый промежуток времени, ставил на часа два, три и нивкакую. похоже библиотека всему виной наверно не туда сохранил или еще что, выбивало ошибку Неверная библиотека найдена в C:Program Files (x86)Arduinolibrarieslibraries: нет заголовочных файлов (.h), найденных в C:Program Files (x86)

  • #25

Arduino: 1.6.5 (Windows 7), Плата»Arduino Nano, ATmega328″

In file included from colorMusic_v2.7_Effect_Mic_and_Line.ino:236:0:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRLremote.h:29:2: error: #error IRLremote requires Arduino IDE 1.6.6 or greater. Please update your IDE.
#error IRLremote requires Arduino IDE 1.6.6 or greater. Please update your IDE.
^
In file included from colorMusic_v2.7_Effect_Mic_and_Line.ino:227:0:
C:Program Files (x86)ArduinolibrariesFastLED-master/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.008
# pragma message «FastLED version 3.001.008»
^
In file included from C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Nec.h:28:0,
from C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRLremote.h:44,
from colorMusic_v2.7_Effect_Mic_and_Line.ino:236:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Time.h: In member function ‘uint32_t CIRL_Time<T>::nextEvent()’:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Time.h:135:10: error: ‘time’ does not name a type
auto time = timeout();
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Time.h:136:10: error: ‘timespan’ does not name a type
auto timespan = static_cast<T*>(this)->timespanEvent;
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Time.h:138:8: error: ‘time’ was not declared in this scope
if(time >= timespan) {
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Time.h:138:16: error: ‘timespan’ was not declared in this scope
if(time >= timespan) {
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Time.h:142:12: error: ‘timespan’ was not declared in this scope
return timespan — time;
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Time.h:142:23: error: ‘time’ was not declared in this scope
return timespan — time;
^
In file included from C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Nec.h:30:0,
from C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRLremote.h:44,
from colorMusic_v2.7_Effect_Mic_and_Line.ino:236:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Decode.h: In static member function ‘static void CIRL_DecodeSpaces<T, blocks>::interrupt()’:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Decode.h:100:10: error: ‘duration’ does not name a type
auto duration = T::nextTime();
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Decode.h:103:9: error: ‘duration’ was not declared in this scope
if (duration >= T::limitTimeout) {
^
In file included from C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRLremote.h:45:0,
from colorMusic_v2.7_Effect_Mic_and_Line.ino:236:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h: In member function ‘void CNecAPI<callback, address>::read()’:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:72:8: error: ‘data’ does not name a type
auto data = CNec::read();
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:75:28: error: request for member ‘address’ in ‘CIRL_DecodeSpaces<CNec, 4>::data’, which is of non-class type ‘uint8_t [4] {aka unsigned char [4]}’
bool firstCommand = data.address != 0xFFFF;
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:76:13: error: request for member ‘address’ in ‘CIRL_DecodeSpaces<CNec, 4>::data’, which is of non-class type ‘uint8_t [4] {aka unsigned char [4]}’
if ((data.address == 0) || (address && firstCommand && (data.address != address)))
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:76:64: error: request for member ‘address’ in ‘CIRL_DecodeSpaces<CNec, 4>::data’, which is of non-class type ‘uint8_t [4] {aka unsigned char [4]}’
if ((data.address == 0) || (address && firstCommand && (data.address != address)))
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:96:14: error: request for member ‘command’ in ‘CIRL_DecodeSpaces<CNec, 4>::data’, which is of non-class type ‘uint8_t [4] {aka unsigned char [4]}’
if (data.command == lastCommand)
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:124:24: error: request for member ‘command’ in ‘CIRL_DecodeSpaces<CNec, 4>::data’, which is of non-class type ‘uint8_t [4] {aka unsigned char [4]}’
lastCommand = data.command;
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h: In member function ‘uint32_t CNecAPI<callback, address>::nextTimeout()’:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:205:10: error: ‘time’ does not name a type
auto time = timeout();
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:206:10: error: ‘timeout’ does not name a type
auto timeout = getTimeout();
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:208:8: error: ‘time’ was not declared in this scope
if(time >= timeout) {
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_NecAPI.h:212:22: error: ‘time’ was not declared in this scope
return timeout — time;
^
In file included from C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRLremote.h:47:0,
from colorMusic_v2.7_Effect_Mic_and_Line.ino:236:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Hash.h: In static member function ‘static void CHashIR::interrupt()’:
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Hash.h:180:10: error: ‘duration’ does not name a type
auto duration = nextTime();
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Hash.h:183:8: error: ‘duration’ was not declared in this scope
if(duration >= HASHIR_TIMEOUT)
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Hash.h:213:18: error: ‘oldval’ does not name a type
auto oldval = lastDuration;
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Hash.h:214:18: error: ‘newval’ does not name a type
auto newval = duration;
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Hash.h:220:17: error: ‘newval’ was not declared in this scope
if (newval < (oldval * 3 / 4)) {
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Hash.h:220:27: error: ‘oldval’ was not declared in this scope
if (newval < (oldval * 3 / 4)) {
^
C:Program Files (x86)ArduinolibrariesIRLremote-mastersrc/IRL_Hash.h:240:28: error: ‘duration’ was not declared in this scope
lastDuration = duration;
^
colorMusic_v2.7_Effect_Mic_and_Line.ino: In function ‘void remoteTick()’:
colorMusic_v2.7_Effect_Mic_and_Line:848: error: ‘data’ does not name a type
colorMusic_v2.7_Effect_Mic_and_Line:849: error: ‘data’ was not declared in this scope
‘data’ does not name a type

WARNING: Spurious .github folder in ‘Adafruit NeoPixel’ library

WARNING: Spurious .github folder in ‘Adafruit NeoPixel’ library

Это сообщение будет содержать больше информации чем
«Отображать вывод во время компиляции»
включено в Файл > Настройки

  1. При выполнении данного кода

    #include <DHT_U.h>

    // тип датчика DHT
    #define DHTTYPE DHT11

    DHT11
    int pinDHT11=9;

    int pinSoilMoisture=A0;

    int pinTMP36=A1;

    int pinPhotoresistor=A2;

    DHT dht(pinDHT11, DHTTYPE);

    void setup()
    {
    Serial.begin(9600);
    dht.begin();
    }

    void loop()
    {
    float h = dht.readHumidity();
    if (isnan(h))
    {
    Serial.println(«Failed to read from DHT»);
    }
    else
    {
    Serial.print(«HumidityDHT11= «); Serial.print(h);Serial.println(» %»);
    }
    int val0=analogRead(pinSoilMoisture);
    Serial.print(«SoilMoisture= «); Serial.println(val0);

    int val1=analogRead(pinTMP36);
    int mV=val1*1000/1024;
    int t=(mV500)/10;
    Serial.print(«TempTMP36= «); Serial.print(h);Serial.println(» C»);
    int val2=analogRead(pinPhotoresistor);
    Serial.print(«Light= «); Serial.println(val2);

    Serial.println( );
    delay(5000);
    }

    выходит ошибка

    Arduino: 1.8.9 (Windows 10), Плата:»WAVGAT UNO R3″

    Внимание: platform.txt из ядра ‘Arduino AVR Boards’ содержит устаревшие recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{build.path}/{archive_file}» «{object_file}», автоматически преобразовано в recipe.ar.pattern=»{compiler.path}{compiler.ar.cmd}» {compiler.ar.flags} {compiler.ar.extra_flags} «{archive_file_path}» «{object_file}». Ожидайте обновления ядра.
    In file included from C:UsersdosDesktopsketch_apr23asketch_apr23a.ino:1:0:

    C:UsersdosDocumentsArduinolibrariesDHT_sensor_library/DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    compilation terminated.

    exit status 1
    Ошибка компиляции для платы WAVGAT UNO R3.

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

  2. Скорее всего, в библиотеке есть коды под определённые атмеги , а вавгатовского чипа (lgt8) там нет . Загляни по представленному пути.
    У меня с библиотекой серво на этой плате таже проблема.

  3. marting
    английский понимаете?
    вот вам компилятор пишет:
    Adafruit_Sensor.h: No such file or directory

    Последнее редактирование: 23 апр 2019

  4. барахло от Вавгата лучше не покупать

  5. Фаил библиотеки не находит.

  6. Боком выходит? Или как?Это лохам не даст. Нормальным пацанам пусть попробует не дать!Не всегда.Строки — самая большая условность в жизни. Они есть грань меж бытия и небытия, они существуют параллельно нам, никогда не пересекая нас. Познать строку — познать себя. Позная себя, можно определить грань бытия, грань материального, вечного…Ладно, ладно шучу.

    Дело в том, что как я называю «строка» — на самом деле условность. На данном экране функция setCursor() — определяется по пиксельно сначала ось x, потом y. Почему я говорю строка? Так удобней, да и как это иначе назвать. Например, взяв лист А4 вы увидите на нем, то самое ничего. Вы можете написать на нем, что-либо, например слова в строку. Чем больше шрифт, тем меньше на него поместиться. Как-то так. Да, есть и переменные типа string, которые также я называю «строками», но я указываю, что ето есть переменная. Со столбцами тажа лажа. Ну, ето если я вас, товарищ, правильно понял

    О, новый камрад, превед! Боюсь, что если поставить динамичные аргументы, выйдет небольшая (а возможно и большая лажа) абесню:
    У меня одна строка, которая состоит из кучи других. Перед ней стоит setCursor(), в котором изначально заложено положение первого пикселя, который будет напечатан. Если в процессе мы, товарищ, изменим эти аргументы, то 1-ый пиксель просто сместится и надпись вместе с ним. Разделения не произойдет, т.к. это 1-на строка Если не понятно, я вам могу оформить красочно пару-тройку фотокарточек на эту тему (Канешна в паинте, но энивей), чтобы вы, камрад, точно все понялиТоварищ, а можно с 3-его предложения по-подробней? Слишком обширен ваш словарный запас, оттого понять вас маргинальному пролетариату не представляется возможным, заранее спасибо

    Последнее редактирование модератором: 30 апр 2019

  7. Написано же даже по-русски:

    Жди, пока узкоглазый Ляо сделает тебе библиотеку.
    Есть альтернатива — взять учебник по АВР и накатить знаний. И тогда на дядю Ляо можно положить огромный русский her.

  8. Через менеджер библиотек установил Adafruit Unified Sensor Library.


13-12-2020, 16:31
7 комментариев

Даже опытные программисты-«ардуинщики» могут столкнуться с ошибками компиляции. Исправить их не сложно, а вот найти порой не так просто. Мы решили рассказать сегодня в деталях, какие системные ошибки чаще возникают на различных платах Ардуино, как их исправить и по возможности избежать. 

Для начала рассмотрим базовые, так называемые синтаксические ошибки. Они встречаются чаще всего у новичков, но и опытные электронщики с ними точно знакомы не понаслышке. Искать их обычно супер-просто – в Arduino IDE некорректный синтаксис выделяется построчно (таким образом значительно легче отыскать неточность в кодах). Обычно это: отсутствие скобки в конце команды, пропуск этой самой служебной команды или слова, нехватка важных функций, неправильное их написание и т.д.

Для быстрого поиска ошибки советуем рассмотреть строку-подсказку. Ничего не помогло? Тогда для вас наша подборка наиболее распространенных синтаксических ошибок:

С синтаксисом все понятно – вставляем пропущенные символы, убираем лишние знаки, возвращаем функции по умолчанию.
Напомним, в среде разработки Ардуино IDE можно заливать скетчи для различных микроконтроллеров. По умолчанию обычно указана плата Genuino Uno. Если вы работаете с Mega, следует выбрать именно эту платформу (меню «Сервис»), иначе вас ожидает неприятное предупреждение: “programmer is not responding”.

Ошибка компиляции для платы Arduino Uno чаще всего возникает из-за проблем, связанных с библиотеками, например, неправильно подключили, не то ПО инсталлировали. В этом случае вы увидите напоминание fatal error: … No such file or directory” (библиотека не перенесена в папку libraries) или redefinition of void setup”.


Обозначенная на скриншоте ERROR означает, что программирование завершилось некорректно (расшифровываем: внутренние проблемы с компилятором, не обновили версию IDE, сбой в библиотеке, неправильный выбор разрядности операционной системы и др.). 
Важно! Не забывайте использовать подсказки приложения – они очень помогают. Включаем тут: Файл -> Настройки -> «Показать подробный вывод во время компиляции».

Что делать, если произошла ошибка при загрузке скетча Arduino Nano. Тут могут быть те же причины, что мы описали выше. Особых отличий в компиляции плат нет, главное, их правильный выбор первоначально. Однако часто пользователи настраивают не те показатели скорости порта: 9600 вместо необходимых 57600 либо не имеют соответствующих драйверов на устройствах – все это нужно проверить и исправить!

Your compiler just tried to compile the file named foo.cc. Upon hitting line number line, the compiler finds:

#include "bar"

or

#include <bar>

The compiler then tries to find that file. For this, it uses a set of directories to look into, but within this set, there is no file bar. For an explanation of the difference between the versions of the include statement look here.

How to tell the compiler where to find it

g++ has an option -I. It lets you add include search paths to the command line. Imagine that your file bar is in a folder named frobnicate, relative to foo.cc (assume you are compiling from the directory where foo.cc is located):

g++ -Ifrobnicate foo.cc

You can add more include-paths; each you give is relative to the current directory. Microsoft’s compiler has a correlating option /I that works in the same way, or in Visual Studio, the folders can be set in the Property Pages of the Project, under Configuration Properties->C/C++->General->Additional Include Directories.

Now imagine you have multiple version of bar in different folders, given:


// A/bar
#include<string>
std::string which() { return "A/bar"; }

// B/bar
#include<string>
std::string which() { return "B/bar"; }

// C/bar
#include<string>
std::string which() { return "C/bar"; }

// foo.cc
#include "bar"
#include <iostream>

int main () {
    std::cout << which() << std::endl;
}

The priority with #include "bar" is leftmost:

$ g++ -IA -IB -IC foo.cc
$ ./a.out
A/bar

As you see, when the compiler started looking through A/, B/ and C/, it stopped at the first or leftmost hit.

This is true of both forms, include <> and incude "".

Difference between #include <bar> and #include "bar"

Usually, the #include <xxx> makes it look into system folders first, the #include "xxx" makes it look into the current or custom folders first.

E.g.:

Imagine you have the following files in your project folder:

list
main.cc

with main.cc:

#include "list"
....

For this, your compiler will #include the file list in your project folder, because it currently compiles main.cc and there is that file list in the current folder.

But with main.cc:

#include <list>
....

and then g++ main.cc, your compiler will look into the system folders first, and because <list> is a standard header, it will #include the file named list that comes with your C++ platform as part of the standard library.

This is all a bit simplified, but should give you the basic idea.

Details on <>/""-priorities and -I

According to the gcc-documentation, the priority for include <> is, on a «normal Unix system», as follows:

 /usr/local/include
 libdir/gcc/target/version/include
 /usr/target/include
 /usr/include

For C++ programs, it will also look in /usr/include/c++/version, first. In the above, target is the canonical name of the system GCC was configured to compile code for; […].

The documentation also states:

You can add to this list with the -Idir command line option. All the directories named by -I are searched, in left-to-right order, before the default directories. The only exception is when dir is already searched by default. In this case, the option is ignored and the search order for system directories remains unchanged.

To continue our #include<list> / #include"list" example (same code):

g++ -I. main.cc

and

#include<list>
int main () { std::list<int> l; }

and indeed, the -I. prioritizes the folder . over the system includes and we get a compiler error.

It’s 11 PM on a Wednesday. You’ve just spent three hours toiling on your next Arduino project, and FINALLY, you’re ready to give your sketch a whirl. You hit upload, palms sweaty with anticipation to see all your hard work come to fruition. It’s then you see the error:

No such file or directory.

Surely this is a chance aberration. “Nothing to worry about,” you mutter, sleep-starved and semi-delirious as you hit upload again. And once more, those maddening words, “no such file or directory,” stare back at you in hostile gaslighting mockery.

Have you been here?

If you’re trying to run an Arduino sketch but keep coming across the “no such file or directory” error, don’t worry. This is actually a pretty common problem, and there are two easy fixes that almost always work.

Keep on reading. We’ll show you what they are.

No such file error!

Error messages can be such a pain. They do, however, serve a useful purpose by telling us something about what went wrong. At first glance, the no such file or directory error is particularly maddening because it seems to break that useful purpose rule. Of course there’s a file or directory! You just made the thing, and it’s right there, tucked inside a directory.

But hold up, let’s take a closer look. If you look at the bottom portion of the Arduino IDE where the error message shows up, there’s this handy little button that says “copy error messages.”

Click on that now. You probably won’t fall off your chair to learn that by clicking that button, you just copied the error message from the little window at the bottom of The Serial Monitor’s UI to the clipboard of your computer.

This copy feature is ridiculously useful. You could, for example, paste the error message into Google and learn more about the error. Or you could take advantage of the active Arduino community by asking for help in a forum. For this situation, however, we can be a bit more basic. All we’re going to do is take a closer look at what the message is actually saying. To do that, just fire up your PC’s text editor and paste it into the blank screen.

Decoding the no such file error

Here it is, that pesky error in all its freshly pasted glory.

no such file error printed out on Arduino IDE error section

I’ll break it down for you line by line.

  • The first line is easy. It’s just describing the Arduino version in use, what operating system is running, and which board you have selected.
  • Line 2 begins to zero in on the problem.
    • The first bit, “knob,” is referring to the name of the program. This is your sketch, basically.
    • The second bit is what usually begins to confuse people, but it’s easy once you know. The “10” in this example is telling you the error occurred on line 10 of your sketch. The “19” is telling you the length of the line of code in spaces and characters. The first number is usually the more helpful of the two because you can use it to locate the error in your sketch.
  • Then we get to the smoking gun of the error. It says, “servo.h: No such file or directory”.

So this thing, “Servo.h.” That’s the thing we need to fix, and thanks to line 2, we know where to find it. Line 10. It’s always line 10.

Now that we know what’s going on a bit better, let’s get down to the business of implementing a fix.

The error of our ways

Let’s lay down some scrutiny on this accursed line 10.

It says “#include <servo.h>”

When we verify this code, this line is telling the Arduino IDE compiler, “Hey, for this program to work, you need to go get this file called servo.h”.

Let’s say you had a label-making machine, and you wanted to use it to print some cool motivational labels, like “Success!” and “Keep Trying!” and “Look, Nachos!” To make that happen, you’ll first have to load in a roll of labels. No roll of labels? Well, then the label maker isn’t gonna work.

The sketch you’re trying to upload is like the label maker. The file (in our example, the file named “servo.h”) is the roll of labels.

So the error message actually is saying something useful. It’s saying, “Hey programmer, you said I needed this other file. Well, I looked for it and it’s not there. What gives?”

Now we know the error message isn’t complete gibberish, let’s look at the two most common scenarios that cause it.

Scenario 1 – Fat fingers

This sketch is one that you’ve written. You’re actually the one who wrote the “#include” line. The first thing you should check is your spelling and capitalization. Maybe you spelled the name of the library incorrectly? Or (as with the example below) perhaps you capitalized the wrong letters.

Arduino IDE with misspelled library name, which can create the no such file error

So “servo.h” should actually have a capital “S.” In full and with correct capitalization, it should read, “Servo.h.” You’ll notice above that the word servo changes color when it’s correctly capitalized. That color change signifies that the library name “Servo” is recognized as a “keyword” in the Arduino IDE.

Keep in mind that might not be the case for all the libraries you’re using. In other words, the color change won’t always indicate you’re using the right spelling or capitalization, but it’s often a helpful visual reminder.

Oh, and it’s probably good to mention that everyone in the history of Arduino programming has misspelled or incorrectly capitalized a word at some point. It’s amazing how long you can stare at a line of code and miss something like that.

So don’t sweat it.

Scenario 2 – Missing files

This brings us to the next common scenario for the “no such file or directory” error.

So often, working with Arduinos involves taking code that someone else has developed and shared online and then tailoring it to your project. That’s part of what makes it so easy to get stuff done with Arduino. One problem that frequently happens when we do that, however, is we accidentally introduce code without a matching file.

An easy way to check to see if you have the file a sketch is looking for is to navigate to Sketch > Include Library from within the Arduino IDE. Then look for the name of that library.

Arduino IDE library dropdown - if library is not included, the the no such file error will show up

Whatever library the #include statement was calling for, you want to look through this big long list for a library with the exact same name. If you don’t see the file name there, this means the library isn’t installed. You’ll have to add that library before the sketch will compile without errors.

So, how do you add that library?

The easiest way is to go to Sketch > Include Library > Manage Libraries. The Arduino IDE will open up a dialogue box from which you can search for the library you need.

Make sure you type the exact word that matches the #include line. Once you find the missing library, go ahead and click Install. The Arduino IDE will let you know that it’s installing the library you requested and updating the software accordingly.

Next, just double-check that the library has been successfully installed by going to Sketch > Include Library. You should see your new library in the dropdown list.

Good news! If the library is there, you should now be able to compile your sketch error-free.

Other library locations

OK, there’s one little fly in the ointment. How do these dang ointment flies always manage to complicate things so?

Here’s the thing. Not all libraries live in this convenient pop-up window inside the Arduino IDE. The Arduino community is bubbling with clever ideas, but cleverness (unlike processed cheese) doesn’t always come in conveniently standardized, individually wrapped slices. There are tons of different ways to find Arduino libraries on the web.

If you’re downloading or copying a program from the internet, just go to the page where you got that program and take a close look at the library the author is referencing. They may, for example, have a link to GitHub, which is a place where people keep a lot of code libraries.

Wherever you find it, usually the library will be included in a .zip file package. Once you’ve downloaded the .zip file, fire up the Arduino IDE and go to Sketch > Include Library > Add .ZIP library. Then navigate to the location you downloaded the file and select it. Assuming no additional ointment flies invade your workflow, the Arduino IDE will pop up the message “Library added to your libraries” just above the dark area where the original “no such file or directory” error appeared.

Now it’s business as usual! Just go to Sketch > Include Library, and the new library will appear in the drop-down list.

As the dyslexic Frenchman once said to the oversized violinist: “Viola!”

You now know not one but two ways to add a new library. What a time to be alive!

Review

A quick recap, then.

We’ve looked at the two main scenarios that cause the “no such file or directory” error to appear after you compile your sketch:

  • The fat fingers phenomenon: Check your spelling and capitalization! If you wrote the sketch, there’s a mighty good chance you introduced a tiny error. And don’t beat yourself up over it! Literally every coder has done this.
  • The missing files mixup: Failing that, if you copied code from someone else check that you have the correct libraries installed. Don’t see your library? Install it using the method described above, and you should be good to go.

There may be no such thing as a free lunch, a coincidence, or a luck dragon. But rest assured. Your files and directories? They’re alive and well.

Arduino Forum

Loading

Возможно, вам также будет интересно:

  • Ошибка компиляции для платы stm8s103f3 breakout board
  • Ошибка компиляции для платы sanguino exit status 1
  • Ошибка компиляции для платы nodemcu
  • Ошибка компиляции для платы generic stm32f103c series
  • Ошибка компиляции microsoft jscript 800a03f6

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии