
Первая прошивка
Итак, разобрались со средой разработки, теперь можно загрузить прошивку. Рекомендую загрузить пустую прошивку, чтобы убедиться, что все драйвера установились и плата вообще прошивается. Также лучше делать это с новой или заведомо рабочей платой.
1. Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:
- Неисправен USB кабель.
- Неисправен USB порт компьютера.
- Неисправен USB порт Arduino.
- Попробуйте другой компьютер, чтобы исключить часть проблем из списка.
- Попробуйте другую плату, чтобы исключить часть проблем из списка.
- На плате Arduino сгорел диод по питанию USB.
- Плата Arduino сгорела полностью из-за неправильного подключения питания или короткого замыкания
2. Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:
- См. предыдущий список неисправностей.
- Кабель должен быть data-кабелем, а не “зарядным”.
- Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб.
- Не установлены драйверы для Arduino.
3. В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, отличный от COM1. Если этого не произошло:
- См. предыдущий список неисправностей.
- Некорректно установлен драйвер CH341.
- Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
- Возникла системная ошибка, обратитесь к знакомому компьютерщику
4. Выбираем свою плату. Если это Arduino Nano, выбираем в ИнструментыПлатаArduino Nano. Если другая – выбираем другую. Нажимаем стрелочку в левом верхнем углу (загрузить прошивку). Да, загружаем пустую прошивку.
- [Для Arduino Nano] В микроконтроллер китайских нанок зашит “старый” загрузчик, поэтому выбираем ИнструментыПроцессорATmega328p (Old Bootloader). Некоторые китайцы зашивают в свои платы новый загрузчик, поэтому если прошивка не загрузилась (загрузка идёт минуту и вылетает ошибка avrdude: stk500_getsync()) – попробуйте сменить пункт Процессор на ATmega328p.
Если появилась надпись “Загрузка завершена” – значит всё в порядке и можно прошивать другие скетчи. В любом случае на вашем пути встретятся другие два варианта событий, происходящих после нажатия на кнопку “Загрузка” – это ошибка компиляции и ошибка загрузки. Вот их давайте рассмотрим более подробно.
Ошибки компиляции
Возникает на этапе компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки.
- В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
- В чёрном окошке в самом низу Arduino IDE можно прочитать полный текст ошибки и понять, куда копать.
- В скачанных с интернета готовых скетчах часто возникает ошибка с описанием название_файла.h no such file or directory. Это означает, что в скетче используется библиотека <название файла>, и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по название файла.
- При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
- Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
- Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча
- Ошибка недостаточно свободного места возникает по вполне понятным причинам. Возможно поможет урок по оптимизации кода.
Частые ошибки в коде, приводящие к ошибке компиляции
- expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
- stray ‘320’ in program – русские символы в коде
- expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
- … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
- redefinition of … – повторное объявление функции или переменной
- storage size of … isn’t known – массив задан без указания размера
Ошибки загрузки
Возникают на этапе, когда программа успешно скомпилирована и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за настроек программы и драйверов.
- USB кабель, которым подключается Arduino, должен быть Data-кабелем, а не кабелем только для зарядки. Нужным нам кабелем подключаются к компьютеру плееры и смартфоны.
- Причиной ошибки загрузки являются не установленные/криво установленные драйвера CH340, если у вас китайская NANO.
- Также будет ошибка avrdude: ser_open(): can’t open device, если не выбран COM порт, к которому подключена Arduino. Если кроме COM1 других портов нет – читай два пункта выше, либо попробуй другой USB порт, или вообще другой компьютер.
- Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением ардуины от питания. Потом вставляем USB и по новой прошиваем.
- Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”. Также в свежих версиях IDE нужно выбирать ATmega328P (Old Bootloader) для китайских плат NANO.
- Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
- Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
- Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% сдох загрузчик. Второй неприятный исход – загрузчик “слетел”, и его можно прошить заново.
Предупреждения
Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет критических ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:
- # Pragma message… – это просто сообщения, оставленные разработчиком проекта или библиотеки. Чаще всего номер версии и прочая информация.
- Недостаточно памяти, программа может работать нестабильно – Чуть выше этого предупреждения обычно идёт информация о задействованной памяти. Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85-90%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти. Так что ещё раз: это всего лишь предупреждение, а не ошибка.
FAQ
Завершая раздел Введение в Arduino поговорим о вопросах, которые очень часто возникают у новичков:
- Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс Flash памяти. А он довольно большой.
- Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
- Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов. Подробнее в этом уроке.
- Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию. Подробнее в этом уроке.
- Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
- Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу.
- Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь.
- Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI
Видео
Полезные страницы
- Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
- Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
- Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
- Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
- Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
- Поддержать автора за работу над уроками
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
не могу востановить загрузчик в четырёх нано
Offline
Зарегистрирован: 06.01.2020
допустим в одной пишет ошибку
Arduino: 1.8.11 (Windows 10), Плата:»Arduino Nano, ATmega328P (Old Bootloader)»
avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Ошибка при записи загрузчика.
прошиваю через уно
соединил 13-13 / 12-12 / 11-11 / 10-ресет и питание
на двух нано при заливки блинка он залился но после этого на неё нельзя ничего залить
у третий нано изначально пишит — выбранный последовательный порт не существует или плата не подключена к нему
у четвёртой слетел после попытки востановить на предыдущих трёх но как прошивалка она работает а именно я соединяю с промини рх-рх / тх-тх и промини прошивается через неё без проблем
помогите востановить я уже весь ютуб перепробывал их стандартные примеры не помогают
Страница 1 из 3
-
Здравствуйте!
Имеется китайский Arduino Nano v3.0 на CH340G. Драйвера устанавливаются — компьютер видит плату (USB-SERIAL CH340 (COM3)). Скетчи не загружаются с ошибкой «avrdude: verification error, first mismatch…».Полазив по форумам, понял, что нужно прошивать bootloader. За неимением программаторов, приспособил порт LPT — получил STK200. Сначала попробовал прошить с помощью IDE, предварительно прописав нужные строки в programmers.txt. Загрузка проходит успешно через раз (из-за длинных проводов). Попробовал несколько прошивок: Uno, Nano, Duemilanove — итог один: даже при успешной прошивке не загружается ни один скетч по usb. Пробовал шить с помощью SinaProg — та же картина, только прошивки заливаются в 2-3 дольше чем в IDE (в IDE практически мгновенно), однако в этом случае, при попытке записать скетч, IDE возвращает «avrdude: stk500_getsync(): not in sync»
Интересно то, что скетчи записываются с помощью того же программматора STK200 из-под IDE (через раз), при этом исправно работают! Тяжелые скетчи не грузятся опять же из-за длинных проводов.
При замыкании RX и TX ответ не приходит…
В чем может быть проблема? CH340 дохлый или всю плату на выкид?
-
Фьюзы правильные выставили? Для Нано должно быть Low 0xFF High 0xDA И Бут только нановский.У меня сразу заработал и работает.Попробуйте зашить через LPT длинна проводов 10-12 см это нормально.Ну или так
-
Прошил через LPT из-под IDE (прошивка Nano), затем проверил фьюзы — все правильные, в итоге все та же ошибка. Может бутлодер нужен другой? А не тот, что в IDE
Вложения:
-
Подскажите, уже месяц не могу разобраться. Новичёк, с Arduino UNO всё собираю нормально, работает. Для проекта нужна компактность, купил китайскую НАНО. Всё к ней подсоединил, как надо, прошил, не выдаёт на выходы питание. Померил, нету. А как-то тронул — горячая. Решил, что брак, купил вторую. Подключил, и всё точно так же. Решил, что не разобрался. Оказывается, китайским нужен драйвер, возможно не прошивался просто? Залил скетч, где просто 13-ый led моргает. Хм, и он заморгал, как на одной, так и на другой плате. Управлял, менял интенсивность — всё работает. Пошел дальше, подсоединил два светодиода, загрузил скетч «мигалка» — тут снова, вроде прошился, но реакции нету. Ни один из цифровых выходов, ожидаемый сигнал не передаёт :-(.
А глобально нужно для двух простых проектов: на одном с ИК датчика принимать сигналы и просто зажигать светодиоды и управлять mp3 модулем с динамиком. На другом, при помощи ИК датчика, а так же 4-х кнопок, управлять 4мя реле. Ведь не сложно.
Объясните, как пользоваться, какие отличия от UNO, чего я так не понимаю?
Что же, платы только могут бортовым диодом моргать, и всё что ли? -
Думаешь тут умеют читать мысли, наивный…..
ГДЕ скетч , где схема??? Фото и видео не помешает.
Интернет в помощь.
ps\ Странные люди пошли.
vovik181083 нравится это.
-
Вы это мне?
Ну, я думаю, что и так подробно описал.
Просто такой элементарный вопрос: Arduino Nano точно так же работает, как и UNO? В смысле подаёт питание на макетную плату, и т.п…? Или мне не повезло, и обе у меня браковые?Вот так, это если эксперимент, а не серьёзный проект. Питание по USB. Просто суть в том, что, как будто пины не выдают ток. Просто ничего не действует 🙁/*
Мигалка
*/int led_5 = 9; // вывод 9
int led_6 = 3; // вывод 3
int brightness = 0; // минимальный цвет
int fadeAmount = 5; // величина приростаvoid setup() {
// два вывода на выход
pinMode(led_5, OUTPUT);
pinMode(led_5, OUTPUT);
}void loop() {
// у первого вывода минимальное значение, у второго — максимальное
analogWrite(led_5, brightness);
analogWrite(led_6, 255 — brightness);// остальной код без изменений
// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;// reverse the direction of the fading at the ends of the fade:
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
// wait for 30 milliseconds to see the dimming effect
delay(30);
}Вложения:
Последнее редактирование: 19 июн 2016
-
-
А питание откуда? Вижу + но не вижу куда подключен
И да, уно и нано- суть одна, 328 -
Питание, ой, забыл что-ли? Просто от USB, но я и на VIN пытался 9 вольт подавать.
Я всё грешу на контакты. Вначале я просто брал гребёнки из комплекта, вставлял в макетку, распирал, и вставлял NANO. По идее, хотя не особо надёжно, но контакты вроде соприкасаются. Потом пытался нужные подпаивать, просто я это умею плохо. Сегодня использовал купленную паяльную пасту. Нанёс на контакты, и феном грел. Выглядит это волшебно, но аж страшно, т.к. греется. Припаялось на вид, ну не шедевр, но надёжно (гребёнки). Подключил к плате — не фурычит, как и было. Попробовал прошить и… Блин, определяется, но не прошивается. Наверное я её спалил. Или не знаю. 🙁
Но есть еще одна.
Вот и я думаю, суть-то та же, как и с UNO. Просто скажите мне, ответьте. Кто как применяет, использует? Может я упускаю что? Именно, может контакты, или что??? 🙁 -
Когда мне приходит мешок Нанок из Китая, я беру каждую и подключаю к USB, должен замигать 13-й пин (blink обычно вшит по умолчанию). Далее запускаю IDE, выбираю Arduino Nano и нужный порт, и заливаю Блинк из примера но уменьшаю задержку. Этот простой тест показывает, что и чип и програматор живые, но не факт, что безглючные

А уж затем, паяем-подключаем -
А что греется то? Контроллер (квадратик сверху) или стабилизатор (штуковина снизу) ? ))
Скорее всего где то в висит короткое замыкание или уже контроллер сдох от перенапряжения.
Вообще то контакты нужно паять а не распирать иначе — черевато. Если самостоятельно
нельзя хорошо запаять, то можно попросить сделать в мастерской.
(Не думаю, что будет сильно дорого, хотя всяко бывает.)
Кстати неплохо бы фото изделия в разных ракурсах посмотреть, может чего и разглядели бы.
И еще, не понял, на схеме для чего провод от +5V на шину заведен ?По сути вопроса, программно Nano работает также как и UNO. Но поскольку обвеска немного
отличается, то есть свои небольшие особенности.Последнее редактирование: 20 июн 2016
-
Как Вы это определили: по светодиодам или каким-то прибором? Если первое, то стоит убедиться что светодиоды исправны и подключены правильно (анод к цыфр. выходу, катод через резистор на землю).
-
Vad33, благодарю за подробность. Ох, даже не смог определить, где именно нагрело больше, т.к. обжегся схватившись за край, где контакты для программатора (ну или как это — с торца). И когда USB вынимал, тоже было горячо, так что из компа вынул.
Да, я теперь думаю, зря такую купил, продаются, нашел, уже с припаянной гребёнкой. Такую вот надо брать. Ну, да, вероятно вся проблема в плохих контактах, или коротком, которое от того, что когда я приктрутил провод, а волокна торчат в разные стороны. Уж больно миниатюрная плата. 🙁 Uno великовата для одного дельца, а эта больно малая. 🙁
За то спасибо, убедился, что это у меня с контактами. Программно вроде делаю всё так. -
Определил, ну светодиоды проверял на другой плате. С постановкой в схеме всё верно (кстати отвод на 5 вольт для платы, это на будущее было) А на счёт прошивки, понимаю что прошивается, по миганию светодиодов во время загрузки, и скетчем на мигающий 13-ый.
Karabas, ага, теперь тоже вначале буду проверять. -
Если у Вас греется микроконтроллер или какие-либо элементы на плате, проблема скорее в КЗ. Посмотрите внимательно свою пайку, возможно где-то спаяли контакты при распайке.
-
Во всём разобрался, спасибо. Просто на неделе не мог ответить. Эх, да, верно. Паял паяльной пастой, она протекла вниз, и в двух местах спаяла контакты. 🙁 Вот и сгорела. Стал вторую плату вручную паять. Не знаю, да, опыта и умений нет. Вроде всё было не плохо, потом отвалился вдруг Vin, соприкоснулся голый провод с землёй, и так я…
спалил вторую плату.
Но всё, на Али нашел платы с припаеной грибенкой. Жаль, раньше не видел. Разница цены 20 Р.
Надеюсь, будет проще.
Всем спасибо! -
Э!Да не парьтесь так а спаяйте Ардуину сами и надёжнее будет и качественнее и ИМХО дешевле.Я вот пока с Ебая ждал за 4 часа сделал и до сих пор работает!
-
здраствуйте, приобрёл китайскую Arduino Nano v3.0 на CH340G, поставил драйвера, порт определяется. Светодиоды работают. Программирую через Arduino 1.6.12 , при заливке скетча, после компиляции выдаёт сообщение:
Arduino: 1.6.12 (Windows 7), Плата:»Arduino Nano, ATmega328″Скетч использует 928 байт (3%) памяти устройства. Всего доступно 30 720 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2 039 байт для локальных переменных. Максимум: 2 048 байт.avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x10
avrdude: verification error, first mismatch at byte 0x0080
0xff != 0x04
avrdude: verification error; content mismatch
avrdude: verification error; content mismatchПри этом светодиоды RX и TX загораются вместе потом гаснут.
При заливки загрузчика выдаёт следующее сообщение:
Arduino: 1.6.12 (Windows 7), Плата:»Arduino Nano, ATmega328″avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
Ошибка при записи загрузчика.Подскажите в чём дело и что делать? Mega 2560 работает нормально.
-
используя мегу, попробовать загрузить в Nano какой-нибудь скетч по ISP. Если удастся — значит сама Nano живая и проблема в драйверах для CH340 или в кривой пайке CH340.
Мега тоже с чипом CH340? Если да, то проверку драйверов можно пропустить.
-
Стандартные рекомендации:
Попробовать на другом USB порту, на другом кабеле, на другом компьютере.
Если не поможет пробовать перепрошить бутлоадер через другую плату.
Кстати, светодиод встроенный (на 13 контакте, который) моргает/моргал или нет? -
Да светодиод моргает . Мега на СН 340. А где почитать как перепрошить бутлоадер через другую плату?
Страница 1 из 3
Форум РадиоКот • Просмотр темы — Все про USBAsp
Сообщения без ответов | Активные темы
| ПРЯМО СЕЙЧАС: |
| Автор | Сообщение |
|---|---|
|
|
Заголовок сообщения: Re: Все про USBAsp
|
|
Потрогал лапой паяльник
Карма: 4 Рейтинг сообщения: 0
|
А Вы при программировании, питаете откуда программируемый контроллер? Я так понимаю с самого девайса, а не с программатора? в таком случае, эта кака может быть лезет по питанию, вряд-ли это может дать сбой по резету?…На ардуине, возможно оно лучше отфильтровано после юсб, поэтому все чисто…Попробуйте ради эксперемента увеличьте шлейф до 30 см, и подключите к ардуине, думаю ничего не изменится, и будет читаться так же без ошибок, возможно |
| Вернуться наверх |
Профиль
|
| Реклама | |
|
|
|
|
boka1733 |
Заголовок сообщения: Re: Все про USBAsp
|
||
Карма: 1 Рейтинг сообщения: 0
|
RX24 писал(а): А Вы при программировании, питаете откуда программируемый контроллер? Питание идет от USB —>программатор —> arduino 2560. |
||
| Вернуться наверх | |||
| Реклама | |
|
|
|
|
radteh |
Заголовок сообщения: Re: Все про USBAsp
|
||
Карма: 23 Рейтинг сообщения: 0
|
moonlight1 какой программой пытаешься работать? |
||
| Вернуться наверх | |||
|
moonlight1 |
Заголовок сообщения: Re: Все про USBAsp
|
||
|
Зарегистрирован: Вс июн 28, 2015 18:07:39 Рейтинг сообщения: 0
|
radteh, дудкой. Что из среды ардуино, что через консоль все равно не получается прошить загрузчик ардуины. Цитата: Имеется Arduino nano v3 HC340. Столкнулся с такой проблемой что не могу залить не один скетч, ни новый, ни из ранее созданных и ранее работавших. При заливании под конец выдает такую ошибку: Мне помог один человек подсказал как цеплять проводки чтобы прошить загрузчик Цитата: подключаете usbasp к nano (разъем на 6 штырьков — mosi(D11), miso(D12), sck(D13), reset, vcc, gnd), выбираете в IDE програматор usbasp, выбираете плату , и жмете записать загрузчик Я сделал как он сказал и мне в ардуино выдало такое Цитата: выдает ошибку при нажатии на «записать загрузчик» Arduino: 1.6.8 (Windows 7), Плата:»Arduino Nano, ATmega328″ avrdude: warning: cannot set sck period. please check for usbasp firmware update. Ошибка при записи загрузчика. Этот отчёт будет иметь больше информации с Потом он сказал попробовать через командную строку шить, но и этот способ не сработал.
|
||
| Вернуться наверх | |||
| Реклама | |
|
Как выбрать батарейки для IoT-устройств – обзор эксперта
Как выбрать химические источники тока (ХИТ, батарейки) для устройств промышленного и бытового интернета вещей? В чем различие критериев выбора и ключевых параметров? Какие изделия популярных брендов FANSO и POWER FLASH удовлетворяют этим критериям? Подробнее>> |
|
RX24 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Карма: 4 Рейтинг сообщения: 0
|
moonlight1В ошибке написано что то вроде что ваш программатор со старой прошивкой требует обновить ее, у Вас какая версия прошивки в программаторе? нужна 2011года. А версия в программы в среде ардуино новая Если у вас в программаторе есть перемычка на пониженную частоту, замкните ее и попробуйте загрузить загрузчик если получится будет загружать минуты 3 но загрузит. Последний раз редактировалось RX24 Сб мар 19, 2016 10:22:16, всего редактировалось 1 раз. |
| Вернуться наверх | |
| Реклама | |
|
|
|
| Реклама | |
|
Выгодные LED-драйверы MOSO для индустриальных приложений Компэл представляет выгодные светодиодные драйверы MOSO для промышленных решений с высоким классом защиты от внешних воздействующих факторов, хорошей устойчивостью к импульсным помехам и высокой надежностью. В ряде серий реализована возможность дистанционного контроля, кроме того, отдельные версии драйверов могут программироваться на работу в автономном режиме по заранее заданному сценарию. Рассмотрим подробнее их характеристики. Подробнее>> |
|
moonlight1 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Зарегистрирован: Вс июн 28, 2015 18:07:39 Рейтинг сообщения: 0
|
RX24 , а как узнать какая версия прошивки? Последний раз редактировалось moonlight1 Сб мар 19, 2016 10:28:23, всего редактировалось 2 раз(а). |
| Вернуться наверх | |
|
RX24 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Карма: 4 Рейтинг сообщения: 0
|
moonlight1 Выложил программу скачайте разархивируйте и попробуйте загрузить ваш загрузчик через эту программу вначале. Последний раз редактировалось RX24 Сб мар 19, 2016 10:28:49, всего редактировалось 1 раз. |
| Вернуться наверх | |
|
moonlight1 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Зарегистрирован: Вс июн 28, 2015 18:07:39 Рейтинг сообщения: 0
|
RX24 писал(а): moonlight1 Выложил программу скачайте разархивируйте и попробуйте загрузить ваш загрузчик через эту программу вначале. По поводу программы, просто подключаешь ардуино к компу без программатора, открываешь программу указываешь .hex файл с загрузчиком для ардуины, выбираешь какой мк, порт и жмешь загрузить? если так то у меня не вышло выдало ошибку и быстро окно закрылось что я даже ошибку не успел сфоткать увидел только error И все) такое успел сфоткать а потом быстро появляется информация и закрывается командная строка |
| Вернуться наверх | |
|
RX24 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Карма: 4 Рейтинг сообщения: 0
|
Я вам выложил загрузчик для вашей платы выше, да, распакуйте его, потом в программе выбираете порт вашей ардуины тип микроконтроллера и указываете путь к этому загрузчику жмете загрузить. |
| Вернуться наверх | |
|
moonlight1 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Зарегистрирован: Вс июн 28, 2015 18:07:39 Рейтинг сообщения: 0
|
RX24 , вот жеж китайская хрень 3 дня проработала и сдохла, обидно капец… и получение товара то уже подтвердил = |
| Вернуться наверх | |
|
RX24 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Карма: 4 Рейтинг сообщения: 0
|
Попробовать еще с программатора, если загрузит то что то с юсбуарт…Посмотрите на своем прогере есть ли там перемычка или место под нее с 25 вывода на корпус, если есть то поставьте и попробуйте прошить через программатор, возможно и прокатит, если конечно сдохла не мега.Если прокатит то все равно нужен будет сторонний юсбуарт… Последний раз редактировалось RX24 Сб мар 19, 2016 10:50:57, всего редактировалось 1 раз. |
| Вернуться наверх | |
|
moonlight1 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Зарегистрирован: Вс июн 28, 2015 18:07:39 Рейтинг сообщения: 0
|
RX24 писал(а): есть ли там перемычка или место под нее с 25 вывода на корпус, если есть то поставьте и попробуйте прошить через программатор, возможно и прокатит, если конечно сдохла не мега.Если прокатит то все равно нужен будет сторонний юсбуарт… вроде бы есть jp3 а шить через программатор через дудку и консоль как раньше пытался? |
| Вернуться наверх | |
|
RX24 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Карма: 4 Рейтинг сообщения: 0
|
Да, выбираете прогер тип платы и записать загрузчик, убедитесь что это та перемычка с 25 вывода на корпусс. если не поможет проверьте юсбуарт как я описа выше |
| Вернуться наверх | |
|
moonlight1 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Зарегистрирован: Вс июн 28, 2015 18:07:39 Рейтинг сообщения: 0
|
не че не получилось все так же |
| Вернуться наверх | |
|
RX24 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Карма: 4 Рейтинг сообщения: 0
|
Значит либо мега сдохла либо нужно обновлять прошивку в прогере. Попробйте проверить юсбуарт, замкните rxtx откройте монитор порта и отправте что нибудь, если отправляет значит дохлая мега, если нет, то вместо юарт можно пользовать дата кабель от старых мобильников |
| Вернуться наверх | |
|
moonlight1 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Зарегистрирован: Вс июн 28, 2015 18:07:39 Рейтинг сообщения: 0
|
замкнул, пишу число, нажимаю отправить, а в ответ тишина. |
| Вернуться наверх | |
|
RX24 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Карма: 4 Рейтинг сообщения: 0
|
Нет скетч тут не причем) Замыкаете rxtx открываете в среде ардуино монитор последовательного порта в верхней строке пишете что нибудь и жмете отправить, в поле у вас должно появится то же самое что вы написали. Последний раз редактировалось RX24 Сб мар 19, 2016 11:47:43, всего редактировалось 1 раз. |
| Вернуться наверх | |
|
moonlight1 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Зарегистрирован: Вс июн 28, 2015 18:07:39 Рейтинг сообщения: 0
|
значит я правильно делал, отсылал число скажем 100, но в ответ нечего не приходило |
| Вернуться наверх | |
|
RX24 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Карма: 4 Рейтинг сообщения: 0
|
Светодиоды есть на плате по rxtx? они перемигивают в такт отправки? |
| Вернуться наверх | |
|
moonlight1 |
Заголовок сообщения: Re: Все про USBAsp
|
|
Зарегистрирован: Вс июн 28, 2015 18:07:39 Рейтинг сообщения: 0
|
с перемычкой не мигают, а если пытаться залить скетч без перемычки то мигают но выдает ошибка которую я писал. |
| Вернуться наверх | |
Кто сейчас на форуме |
|
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8 |
| Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |

I am trying to burn bootloader on Arduino UNO using MEGA2560 as the programmer,
I followed the steps stated here but still get the error below:
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/arduino/arduino-nightly/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/home/webdev/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000 (retrying)
Error while burning bootloader.
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Note: The Arduino UNO stopped responding when I mistakenly short-circuited a connection, I mistakenly passed 12v to one of the header pins of sensor shield mounted on the board.
How it was connected

asked Dec 15, 2020 at 13:25
![]()
RubyRuby
151 silver badge7 bronze badges
3
Based on this:
Note: The Arduino UNO stopped responding when I mistakenly
short-circuited a connection, I mistakenly passed 12v to one of the
header pins of sensor shield mounted on the board.
There are no I/O pins on the Arduino that are 12V tolerant. You have almost certainly «fried» your Uno board. It’s possible the only casualty is the ATMega chip itself and replacements are available from a number of sources or you can purchase a «raw» one from an electronics reseller and use your programmer setup above to burn your own boot loader.
It’s also quite likely that your sensor board is damaged as well.
From the Microchip datasheet:

You want something like this:
Adafruit Pre-programmed ATMega168p
Buy several, accidents happen!
answered Dec 15, 2020 at 15:23
jwh20jwh20
1,0253 silver badges8 bronze badges
3
I am trying to burn bootloader on Arduino UNO using MEGA2560 as the programmer,
I followed the steps stated here but still get the error below:
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/arduino/arduino-nightly/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/home/webdev/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000 (retrying)
Error while burning bootloader.
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Note: The Arduino UNO stopped responding when I mistakenly short-circuited a connection, I mistakenly passed 12v to one of the header pins of sensor shield mounted on the board.
How it was connected

asked Dec 15, 2020 at 13:25
![]()
RubyRuby
151 silver badge7 bronze badges
3
Based on this:
Note: The Arduino UNO stopped responding when I mistakenly
short-circuited a connection, I mistakenly passed 12v to one of the
header pins of sensor shield mounted on the board.
There are no I/O pins on the Arduino that are 12V tolerant. You have almost certainly «fried» your Uno board. It’s possible the only casualty is the ATMega chip itself and replacements are available from a number of sources or you can purchase a «raw» one from an electronics reseller and use your programmer setup above to burn your own boot loader.
It’s also quite likely that your sensor board is damaged as well.
From the Microchip datasheet:

You want something like this:
Adafruit Pre-programmed ATMega168p
Buy several, accidents happen!
answered Dec 15, 2020 at 15:23
jwh20jwh20
1,0253 silver badges8 bronze badges
3
Содержание
- Скетч не загружается в Ардуино. Что делать?
- Добавить комментарий Отменить ответ
- Первая прошивка, ошибки, FAQ
- Первая прошивка
- Ошибки компиляции
- Частые ошибки в коде, приводящие к ошибке компиляции
- Ошибки загрузки
- Предупреждения
- Видео
- Произошла ошибка при загрузке скетча Ардуино
- Ошибки компиляции для Arduino Nano, Uno, Mega
- avrdude: stk500_recv(): programmer is not responding
- a function-definition is not allowed here before ‘<‘ token
- expected initializer before ‘>’ token / expected ‘;’ before ‘>’ token
- ‘что-то’ was not declared in this scope
- exit status 1 ошибка компиляции для платы Arduino
- missing fqbn (fully qualified board name)
Скетч не загружается в Ардуино. Что делать?
С такой проблемой сталкиваются довольно часто. Причем даже те, кто уже имел неплохой опыт программирования ардуино.
Понятное дело, что первое, что приходит на ум заказчику – ошибка в моей программе, за что поначалу мне было немного обидно.
Существует две наиболее частые ситуации:
- Arduino IDE ругается, что не может найти указанный файл (No such file or directory). Это говорит о том, что нужно установить какую-то библиотеку. А со своими программами я всегда поставляю все необходимые библиотеки.
- Загрузка скетча подвисает, а потом выдает ошибку:

1я ситуация разобрана здесь.
Вторая ситуация связана либо с тем, что плата выбрано неверно, либо выбранная плата имеет в себе старый загрузчик, который не желает работать на той скорости, на которой хочет IDE.
Дело в том, что Arduino IDE предполагает, что все современные Nano и UNO должны работать со скоростью 15200 бит в секунду. А китайские клоны до сих пор довольно часто работают со скоростью в 2 раза меньше – 57600.
Решить эту проблему можно двумя способами:
- Обновить загрузчик на плате
- Добавить плату со старым загрузчиком в конфигурацию Arduino IDE
Лично мне кажется, что второй способ – более универсальный и простой. Поэтому его и опишу.
Итак, зайдите на компьютере в папку, в которую установлена Arduino IDE. Лично у меня это, как и большинства, “C:Program Files (x86)Arduino”, если Вы на Windows.
Теперь откройте папку hardwarearduinoavr и найдите файл boards.txt
В этом файле и находятся все платы, которые Вы выбираете через меню «Инструменты > Плата…»
Выбор платы из списка
Откройте этот файл в текстовом редакторе, например, в блокноте.
Найдите в нем строчку uno.upload.speed
Настройки плат ардуино
Мы видим, что скорость загрузки равно 115200. Но у нас плата, которая хочет 57600!
Можно, конечно, поменять на 115200 на 57600, но тогда, к сожалению, мы не сможет загружать скетчи на плату с новым загрузчиком.
Выход, получается, один – добавить плату, скажем, UNO2, на случай скорости 57600.
Предлагаю просто вставить себе мои настройки и сохранить файл:
Теперь у вас две платы UNO и две Nano:
Выбор платы ардуино в Arduino IDE
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник
Первая прошивка, ошибки, FAQ

Первая прошивка
Итак, разобрались со средой разработки, теперь можно загрузить прошивку. Рекомендую загрузить пустую прошивку, чтобы убедиться, что все драйвера установились и плата вообще прошивается. Также лучше делать это с новой или заведомо рабочей платой.
1. Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:
- Неисправен USB кабель.
- Неисправен USB порт компьютера.
- Неисправен USB порт Arduino.
- Попробуйте другой компьютер, чтобы исключить часть проблем из списка.
- Попробуйте другую плату, чтобы исключить часть проблем из списка.
- На плате Arduino сгорел диод по питанию USB.
- Плата Arduino сгорела полностью из-за неправильного подключения питания или короткого замыкания
2. Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:
- См. предыдущий список неисправностей.
- Кабель должен быть data-кабелем, а не “зарядным”.
- Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб.
- Не установлены драйверы для Arduino.
3. В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, отличный от COM1. Если этого не произошло:
- См. предыдущий список неисправностей.
- Некорректно установлен драйвер CH341.
- Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
- Возникла системная ошибка, обратитесь к знакомому компьютерщику



4. Выбираем свою плату. Если это Arduino Nano, выбираем в ИнструментыПлатаArduino Nano. Если другая – выбираем другую. Нажимаем стрелочку в левом верхнем углу (загрузить прошивку). Да, загружаем пустую прошивку.
- [Для Arduino Nano] В микроконтроллер китайских нанок зашит “старый” загрузчик, поэтому выбираем ИнструментыПроцессорATmega328p (Old Bootloader). Некоторые китайцы зашивают в свои платы новый загрузчик, поэтому если прошивка не загрузилась (загрузка идёт минуту и вылетает ошибка avrdude: stk500_getsync()) – попробуйте сменить пункт Процессор на ATmega328p.
Если появилась надпись “Загрузка завершена” – значит всё в порядке и можно прошивать другие скетчи. В любом случае на вашем пути встретятся другие два варианта событий, происходящих после нажатия на кнопку “Загрузка” – это ошибка компиляции и ошибка загрузки. Вот их давайте рассмотрим более подробно.
Ошибки компиляции
Возникает на этапе компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки.
- В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
- В чёрном окошке в самом низу Arduino IDE можно прочитать полный текстошибки и понять, куда копать.
- В скачанных с интернета готовых скетчах часто возникает ошибка с описанием название_файла.h no such file or directory. Это означает, что в скетче используется библиотека , и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по название файла.
- При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
- Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
- Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча
- Ошибка недостаточно свободного места возникает по вполне понятным причинам. Возможно поможет урок по оптимизации кода.
Частые ошибки в коде, приводящие к ошибке компиляции
- expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
- stray ‘320’ in program – русские символы в коде
- expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
- … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
- redefinition of … – повторное объявление функции или переменной
- storage size of … isn’t known – массив задан без указания размера
Ошибки загрузки
Возникают на этапе, когда программа успешно скомпилирована и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за настроек программы и драйверов.
- USB кабель, которым подключается Arduino, должен быть Data-кабелем, а не кабелем только для зарядки. Нужным нам кабелем подключаются к компьютеру плееры и смартфоны.
- Причиной ошибки загрузки являются не установленные/криво установленные драйвера CH340, если у вас китайская NANO.
- Также будет ошибка avrdude: ser_open(): can’t open device, если не выбран COM порт, к которому подключена Arduino. Если кроме COM1 других портов нет – читай два пункта выше, либо попробуй другой USB порт, или вообще другой компьютер.
- Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением ардуины от питания. Потом вставляем USB и по новой прошиваем.
- Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”. Также в свежих версиях IDE нужно выбирать ATmega328P (Old Bootloader) для китайских плат NANO.
- Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
- Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
- Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% сдох загрузчик. Второй неприятный исход – загрузчик “слетел”, и его можно прошить заново.
Предупреждения
Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет критических ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:
- # Pragma message… – это просто сообщения, оставленные разработчиком проекта или библиотеки. Чаще всего номер версии и прочая информация.
- Недостаточно памяти, программа может работать нестабильно – Чуть выше этого предупреждения обычно идёт информация о задействованной памяти. Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85-90%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти. Так что ещё раз: это всего лишь предупреждение, а не ошибка.
Завершая раздел Введение в Arduino поговорим о вопросах, которые очень часто возникают у новичков:
- Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс Flash памяти. А он довольно большой.
- Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
- Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов. Подробнее в этом уроке.
- Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию. Подробнее в этом уроке.
- Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
- Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу.
- Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь.
- Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI
Видео
Источник
Произошла ошибка при загрузке скетча Ардуино

Ошибки компиляции Arduino IDE возникают при проверке или загрузке скетча в плату, если код программы содержит ошибки, компилятор не может найти библиотеки или переменные. На самом деле, сообщение об ошибке при загрузке скетча связано с невнимательностью самого программиста. Рассмотрим в этой статье все возможные ошибки компиляции для платы Ардуино UNO R3, NANO, MEGA и пути их решения.
Ошибки компиляции для Arduino Nano, Uno, Mega
Самые простые ошибки возникают у новичков, кто только начинает разбираться с языком программирования Ардуино и делает первые попытки загрузить скетч. Если вы не нашли решение своей проблемы в статье, то напишите свой вопрос в комментариях к этой записи и мы поможем решить вашу проблему с загрузкой (бесплатно!).
avrdude: stk500_recv(): programmer is not responding
Что делать в этом случае? Первым делом обратите внимание какую плату вы используете и к какому порту она подключена (смотри на скриншоте в правом нижнем углу). Необходимо сообщить Arduino IDE, какая плата используется и к какому порту она подключена. Если вы загружаете скетч в Ардуино Nano V3, но при этом в настройках указана плата Uno или Mega 2560, то вы увидите ошибку, как на скриншоте ниже.
Ошибка Ардуино: 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 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
Например, на скриншоте выделено, что программист забыл продекларировать переменную ‘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/genuino uno. Причин данного сообщения при загрузке скетча в плату Arduino Mega или Uno может быть огромное множество. Но все их легко исправить, достаточно внимательно перепроверить код программы. Если в этом обзоре вы не нашли решение своей проблемы, то напишите свой вопрос в комментариях к этой статье.
missing fqbn (fully qualified board name)
Ошибка возникает, если не была выбрана плата. Обратите внимание, что тип платы необходимо выбрать, даже если вы не загружаете, а, например, делаете компиляцию скетча. В Arduino IDE 2 вы можете использовать меню выбора:
— список плат, которые подключены и были идентифицированы Arduino IDE.
— или выбрать плату и порт вручную, без подключения микроконтроллера.
Источник

Всем привет. Ха, вы таки думаете, что все так просто? Ан нет.
Имеется несколько Nano (из одной партии). Robotdyn, раньше вообще проблем не было. Но не в этот раз. Некоторые прошиваются без проблем, а некоторые…
При прошивке штатным образом, через USB, в начале прошивки три раза коротенько мигает светик TX, и все. В IDE замирает полоса загрузки, а плата уходит в демонстрацию Blink, зашитую на заводе.
Пробовал прошивать вот так geektimes.ru/post/255816/
Пробовал прошивать вот так flprog.ru/publ/stati/zhel…hhju_arduino_uno/8-1-0-44
Безрезультатно. Как можно вылечить платки? Жалко, не одна такая. Брак явно заводской, но с гарантией неясно пока.
ВАЖНО! Платы из одной партии, часть шьется без проблем, часть ни в какую.
При попытке прошивки загрузчика через IDE ошибка:
avrdude: usbdev_open(): did not find any USB device «usb»
Ошибка при записи загрузчика.
При попытке прошивки загрузчика через другую Нано (Arduino as ISP) ошибка:
***failed;
avrdude: verification error, first mismatch at byte 0x0000
0x00 != 0x3f
avrdude: verification error; content mismatch
Ошибка при записи загрузчика.


