Offline
Зарегистрирован: 03.04.2016
Добрый день!
Возникли проблемы с ардуинкой, а именно.
При загрузке скетча выводится данное сообщение:
«avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x42
Проблема загрузки в плату.»
Пошел гулять по просторам интернета и данного форума, наткнулся на сообщение о том, что надо закинуть загрузчик в плату, при этом выбрать программатор USBasp , попробовал, выдало сообщение:
«avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor=’www.fischl.de’ product=’USBasp’
Ошибка при записи загрузчика.»
Порт менял, не помогло, теперь не знаю что и делать.
Подскажите куда дальше копать?
ps других плат ардуино и программаторов в наличии к сожалению нет.
- Статус темы:
-
Закрыта.
Страница 1 из 3
-
[/URL][/IMG]
СКЕТЧ:void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(100); // wait for a second
}ОШИБКА:
Arduino: 1.6.7 (Windows 8), Плата:»Arduino/Genuino Uno»Скетч использует 1 030 байт (3%) памяти устройства. Всего доступно 32 256 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2 039 байт для локальных переменных. Максимум: 2 048 байт.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xdf
Проблема загрузки в плату. Помощь по загрузке:http://www.arduino.cc/en/Guide/Troubleshooting#upload .Это сообщение будет содержать больше информации чем
«Отображать вывод во время компиляции»
включено в Файл > НастройкиМоя первая ардуино, заказал на Али, у вроде бы проверенного продавца (http://ru.aliexpress.com/item/UNO-R…e27068550cfc5b7-1452855733718-06379-eub6yrrBy)
Подключилась хорошо , сразу сама нашла дрова, никаких ошибок винда не видела , на плате мигают стандартно светодиоды, но любой скетч выдает такую ошибку.
Ставил другие дрова для CH340G отсюда (http://www.arduined.eu/ch340-windows-8-driver-download/), смотрел кучу тем на форуме,все равно не помогает(
Что еще можно сделать? -
А ну ка попробуйте выбрать Arduino Duemilanove or decimila у меня кажется было такое определялся так хотя и работал нормально А после того как перешил Лодыря (просто решил поизвращаться)))стал определятся как UNO.Там по моему разница в бутлоадерах один больше места занимает другой меньше.А точно такая же Шарманка у меня определяется как УНО
Последнее редактирование: 28 апр 2021
-
У меня точно такая же поставил драйвер а работает как уно без проблем
-
Так и у меня работает как УНО всё дело в бутлоадере ссылка выше.Вот самая первая Ардуина пришла с FT232 и мусором в Меге 328.Пришлось самому перешивать.А СН340 это кетайский клон FT232 только драйвера другие а работает так же
-
все платы в программе ставил, все равно та же ошибка((
-
Такая же проблема с nano . Но у меня загружалось и резко перестала , в диспетчере сн340 определяется , ничего не замыкал не ронял , на точно такую же нано все заливается без проблем , в чем может быть проблема мб кто подскажет ?
-
Ну тогда только бутлоадер перешить
-
как вчера не пытался залить загрузчик через мегу не получилось, залил сегодня через уно со второго раза с первого вылезла вот такая ошибка, подскажите что это?
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
Ошибка при записи загрузчика -
Написано: аврдуде: Фу! Недопустимая подпись устройства.
Дважды проверьте соединения и повторите попытку или используйте-F, чтобы переопределить
эту проверку.А по сути НАКОНЕЦ кто то дал дельный совет. История продолжается и снова наступаем не те же грабли. Дело в том что оба бутлоадера на сегодняшний день весят в Arduino ide 6 KB и перепрошить diecimila в uno не получится. Как я пришел к этому:
Купил набор китайской ардуино уно с USB UART на CH340G. Какое то время пользовался и забросил, через пол года взял, а ардуина не шьется!!! Китайского прогера не было(заказал). Попробовал tlp1506 не читается. Решил что 328я умерла, отпаял и заказал две новые так же CH340G 5 шт и фен.
Поменял атмегу ISP заработал прошил бутлоадер от uno — не шьется! Заменил CH340G — не шьётся! Подумал всё! — теперь без USB UART! Ну и стал проверять как это будет. Подключил дисплей по I2c на угад поставил адрес 27 и угадал. Работает! Но как тогда сканировать шину? Заливаю скотч сканирования шины — RX ЗАМОРГАЛ!!! Подключаю через USB UART(если кто не понял всё это время шью IPS программатором) и терминал выдаёт адрес 27! Тем самым USB UART работает! А проблема в загрузчике. Нашел ваше обсуждение и прошился decimila. Установил данную плату и всё заработало!
Спрашивайте и вам ответят, стучите — отворят. -
какой-то поток сознания… сначала речь о загрузчике. потому вдруг. ВНЕЗАПНО, разговор на I2с перекинулся… потом снова загрузчик…
как вы это установили? — попахивает чушью
-
Да глазами увидел в папке ардуино. Может разработчики посчитали перенести китайские UNO в разряд decimila, по факту только так работает. Другой бутлоадер я не знаю где взять что б можно было как с UNO работать
Вложения:
-
Везде на форумах пишут, заливаю скотч, вполне понятно
-
а что на форумах пишут?
Если становится понятно, что пишут на форумах только после заливки скотча, то это весьма печально.
-
вы думаете. что размер файла HEX и размер прошивки в нем — это одно и то же? -
Нано перешивается в Уно запросто. Также как и Уно со старым Лодырем (Duemilanova). Смысла перепрошивки Нано в Уно не вижу—только если освободить 1,5 кб флеша.
-
джек это не только не скотч, но и вообще даже не вискарь как таковой — это бурбонкстати — купил недавно нано — тыкаю тыкаю — не работает. попереключал скорости — внезапно оказалось что это уно
-
скорости загрузки в дудочной программе. у уно 115200, а у нано 57600
![[IMG]](https://sochiupakovka.ru/uploads/images/categories/scotch/TPL-sc.jpg)
Страница 1 из 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
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

Первая прошивка
Итак, разобрались со средой разработки, теперь можно загрузить прошивку. Рекомендую загрузить пустую прошивку, чтобы убедиться, что все драйвера установились и плата вообще прошивается. Также лучше делать это с новой или заведомо рабочей платой.
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])
Платформа Arduino – это один из самых простых путей погрузиться в мир микроконтроллеров и попробовать самому их программировать. Но однако и на этом пути вас могут подстерегать различные ошибки. Некоторые из них устранить очень просто, а на устранение других у вас могут уйти целые дни. В этой статье мы рассмотрим 10 самых распространенных ошибок при работе с платформой Arduino и способы их устранения.

Если вы начинающий в Arduino, то вначале рекомендуем вам ознакомиться с руководством по первому использованию платы Arduino для начинающих – в ней вы найдете решение самых простых ошибок, возникающих при работе с данной платой.
В этой ситуации плата Arduino, подключается к компьютеру, не распознается им. В этом случае плата Arduino не появляется в списке устройств, подключенных к компьютеру по COM портам, как показано на следующем рисунке.

Решение
Эта проблема обычно случается когда вы используете не оригинальную плату Arduino, а ее дешевые клоны, обычно китайского производства. В этих клонах Arduino вместо стандартного для оригинальных плат Arduino FTDI чипа (FT232RL) используется более дешевый чип CH340g (для преобразования USB в последовательный интерфейс). Драйверы для стандартного чипа FT232RL уже содержатся в установочном пакете Arduino IDE, поэтому при ее установке они также автоматически устанавливаются на ваш компьютер. А чтобы использовать клон платы Arduino с чипом CH340g вам необходимо предварительно скачать и установить драйвер для этого чипа – скачать его можно по следующей ссылке. Установка его крайне простая – я думаю, она не вызовет у вас никаких затруднений.

После его установки вы сможете увидеть в диспетчере устройств, к какому COM порту подключена ваша плата Arduino.
2. Плата не синхронизируется
В этом случае ваш компьютер видит подключенную к нему плату Arduino, но вы не сможете загрузить в нее код программы и вы при попытке загрузке в нее программы вместо привычного сообщения «done uploading» увидите сообщение об ошибке: “avrdude: stk500_getsync(): not in sync: resp=0x00”.
Решение
Ошибка синхронизации resp = 0x00 является общим ответом (ошибкой) на все проблемы, связанные с некорректной работой микроконтроллера Atmega (или вообще его неработоспособным состоянием), являющегося «сердцем» платы Arduino. Соответственно, причин этой ошибки может быть достаточно много. Мы рекомендуем вам выполнить следующую последовательность шагов чтобы попробовать устранить эту проблему:
- Убедитесь в том, что ничего не подключено к цифровым контактам 0 и 1 платы Arduino (включая шилды).
- Убедитесь в том, что в настройках Arduino IDE вы выбрали правильный тип платы и правильный COM порт.
- Пару раз нажмите кнопку сброса на плате Arduino и попробуйте после этого загрузить в нее код программы.
- Если не помогло, то отключите и заново подсоедините плату Arduino к компьютеру.
- Закройте и снова запустите Arduino IDE.
Если ничего из перечисленного не помогло, то попробуйте подключить к своему компьютеру другую плату Arduino или же подключите вашу плату Arduino к другому компьютеру. Если вы обнаружите, что проблема в компьютере, то переустановите Arduino IDE. Иногда бывает и так, что Arduino IDE из Windows работает с глюками, а из другой операционной системы на этом же компьютере работает без проблем. Также встречаются энтузиасты, которые устанавливают Arduino IDE в операционную систему от платы Raspberry Pi, то есть работают с Arduino IDE на компьютере, который состоит из платы Raspberry Pi и монитора – они говорят, что в этом случае Arduino IDE работает гораздо лучше чем из под Windows. Также, если не хотите менять компьютер или операционную систему на нем, вместо Arduino IDE можно попробовать использовать аналогичные инструменты — оболочку PlatformIO или Arduino Web Editor (официальный онлайн инструмент, его не нужно устанавливать).
Если проблема оказалась в плате Arduino, то можно попробовать прошить ее стандартным программным обеспечением Arduino (то есть попросту сменить в ней загрузчик). Если это не помогло, то, скорее всего, вам придется использовать в своей работе другую плату Arduino.
3. Код программы не начинает исполняться при нажатии кнопки сброса (Reset)
В этом случае плата Arduino при включении питания и при нажатии кнопки сброса не начинает исполнять записанный в нее скетч, а обычно возвращается к исполнению стандартного скетча, записанного в загрузчик платы – это скетч мигания светодиодом.
Решение
Описанная проблема может возникать по достаточно большому количеству причин.
Если плата «висит» и ничего не делает, вы сначала должны убедиться в том, что вы в это же самое время не передаете ей никаких данных с компьютера по последовательному порту. При включении питания загрузчик платы первые несколько секунд проверяет не передаются ли плате по последовательному порту какие либо данные (например, не производится ли попытка загрузки в плату нового скетча). Если никакого нового скетча не поступает, то спустя несколько секунд загрузчик начинает исполнять последний скетч, загруженный в плату. Если же ваша программа периодически передает данные по последовательному порту плате, то загрузчик попросту не перейдет к исполнению последнего загруженного в плату скетча.
Если же передача данных по последовательному порту является исключительно важной частью вашего проекта, вам необходимо предусмотреть в ней задержку, необходимую для того чтобы у загрузчика было время переключиться на исполнение последнего загруженного в плату скетча. Если же у вас нет возможности сделать такую задержку, то вам необходимо будет использовать какие-нибудь внешние программаторы для загрузки кода программы в плату Arduino, которые загружают код программы в обход встроенного в плату загрузчика.
Если же плата Arduino при включении питания или нажатии кнопки сброса не зависает, а начинает исполнять встроенный в загрузчик скетч мигания светодиодом, то кардинальным способом решения этой проблемы является смена загрузчика в плате, поскольку он мог быть поврежден в результате каких-нибудь обстоятельств.
4. Invalid Device Signature Error (ошибка подписи)

Эта ошибка возникает при попытке загрузки кода программы в плату Arduino, тип которой отличается от той платы, которую вы выбрали в настройках Arduino IDE. Ошибка возникает из-за того, что подпись устройства (device signature) на используемой плате отличается от подписи того типа платы, которую вы выбрали в Arduino IDE.
Решение
Выбрать правильный тип платы Arduino в настройках Arduino IDE. Если это не помогает, то можно попробовать прошить плату последней версией загрузчика Arduino (Arduino bootloader).
5. Ошибка запуска (Launch4j Error)

Arduino IDE необходимо некоторое время для того чтобы запуститься и если после ее запуска вы на что-нибудь кликаете, то возникает ошибка Launch4J error как показано на представленном рисунке. Launch4j – это инструмент, который используется для упаковки (wrapping) приложений Java в программной среде Windows, который позволяет им исполняться как обычным программам Windows.
Arduino IDE написана на JAVA и эта ошибка возникает из-за несовместимости библиотеки Java Run Time Environment (JRE), поставляемой вместе с Arduino IDE.
Решение
Часто решить эту проблему удается простым выключением Bluetooth или WiFi на вашем компьютере. Если это не помогает, то более сложным вариантом решения данной проблемы является замена библиотеки JRE в Arduino IDE на ее последнюю версию.
6. Последовательный порт уже используется (Serial Port Already in Use)

Одна из самых простых проблем для решения. Она обычно происходит когда вы пытаетесь загрузить код программы в плату Arduino в то время когда открыто окно монитора последовательной связи (serial monitor) (но эта проблема в последних версиях Arduino IDE уже устранена) или вы пытаетесь его открыть во время обмена информацией между Arduino IDE и платой Arduino, или вы пытаетесь в это время использовать этот же самый COM порт для связи с другим устройством. То есть данная проблема возникает тогда, когда вы пытаетесь использовать последовательный порт одновременно для двух вещей.
Решение
Когда вы хотите загрузить программу в плату Arduino с помощью Arduino IDE, просто закройте (остановите работу) всех программ/приложений, которые в это же самое время могут использовать данный последовательный порт. Если в каких то программах вы не уверены, то отключите и снова подсоедините плату Arduino к компьютеру.
7. Скетч успешно загружен, но ничего не происходит
Эта проблема аналогична ранее рассмотренным проблемам. В данном случае у вас появилось сообщение, что программа успешно загружена в плату Arduino, но сама плата после этого ничего не делает.
Решение
- Убедитесь в том, что тип выбранной в настройках Arduino IDE платы совпадает с типом платы, в которую вы загрузили программу.
- Также подобная ошибка может быть вызвана тем, что размер загружаемого в плату скетча превышает объем ее памяти для хранения программ. Уменьшите объем скетча или используйте плату Arduino с большим объемом памяти.
- Еще одной причиной подобной ошибки может быть сильная зашумленность цепей питания. Убедитесь в том, что питающее напряжение, подаваемое на плату, достаточно стабильно.
8. Неизвестная ошибка связи (Unsatisfied Link Error)
Очень редко возникающая ошибка. Связана с тем, что на вашем компьютере используется очень старая библиотека для последовательной связи, возможно, от какой то предыдущей версии операционной системы.
Решение
Для решения этой проблемы найдите файл comm.jar или jcl.jar в папке /System/Library/Frameworks/JavaVM.framework/ или в папках на вашем компьютере, относящимся к переменным окружения CLASSPATH или PATH.
9. Размер скетча слишком большой (Sketch Too Large)

Эта ошибка происходит когда размер кода программы больше чем объем перепрограммируемой памяти (flash memory, памяти для хранения программ) используемой вами платы Arduino. К примеру, объем этой памяти в плате Arduino Uno составляет 32 Кбайта, из которых 2 Кбайта заняты загрузчиком. Если вы попытаетесь загрузить в данную плату скетч объемом более 32 Кбайт, то увидите подобную ошибку.
Решение
Для решения этой проблемы модно использовать следующие способы уменьшения объема кода программы:
- Там, где это возможно, используйте целые типы данных (integer) вместо вещественных (float).
- Там, где это возможно, используйте при объявлениях переменных спецификатор “const”.
- Подключайте в программу только те библиотеки, которые вы будете использовать. Там, где это возможно, используйте облегченные версии используемых библиотек.
- Используйте специальные алгоритмы и другие способы уменьшения объема кода программы.
Более радикальным решением этой проблемы является смена платы Arduino на плату с большим объемом памяти. Например, плату Arduino Uno можно заменить на плату Arduino Mega, или даже на плату Arduino Due.
10. Ошибка переполнения стека (java.lang.StackOverflowError)
Иногда плата Arduino не может выполнить программы, в которых используется некорректная работа со строками, например, у строковых переменных пропущены кавычки в некоторых выражениях (или функциях).
Решение
В этом случае вам необходимо тщательно проинспектировать код своей программы, обращая особое внимание на те строки, в которые используются строковые переменные (типа string). Убедитесь в том, что все кавычки присутствуют в необходимых им местах. Также убедитесь в правильном использовании слешей (косых черт).
В данной статье мы рассмотрели 10 самых распространённых ошибок при работе с Arduino. Разумеется, реальное число ошибок, которые могут возникать при работе с платами Arduino, гораздо больше чем 10, однако мы попытались в этой статье рассмотреть самые распространённые из них. Если у вас возникает какая либо ошибка, которая не рассмотрена в данной статье, можете описать ее в комментариях и мы попробуем вместе с вами ее решить.
Загрузка…
9 730 просмотров
Совершенно неожиданно у меня возникла проблема с добавлением нового скетча в Arduino. Arduino IDE стал зависать на моменте загрузки скетч в микроконтроллер на долгое время и потом выдавать множественные ошибки вида:
Код: Выделить всё
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x45
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x45
avrdude: stk500_recv(): programmer is not responding
.....
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x45
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x45
У меня была китайская Arduino Uno rev3, с которой я работал уже полгода без проблем. Покупал тут в составе набора для изучения (Starter Kit), и ей даже китайский драйвер CH340 не понадобился, заработала с фирменным из состава IDE. И внезапная ошибка «avrdude: stk500_recv(): programmer is not responding» меня — неопытного новичка, немного напугала. Четких инструкций для решения я не смог найти: либо старая версия IDE с несуществующими командами, либо не мой случай. Но вот, что случилось у меня. У китайцев для прошивки контролеров без USB (типа Arduino Mini) я прикупил программатора USBasp, который надо подключать к разъему ICSP на плате и немного «поиграл» с ним для проверки, заливая программу в большую Arduino Uno.
Разъемов, кстати, две штуки на плате, еще один для прошивки самого контролера USB интерфейса. Но нам это не нужно.
И я так понял: при использовании программатора напрямую в ATmega заливается только сам скомпилированный код HEX, что позволяет сэкономить немного памяти для больших программ. А для работы через USB нужен еще и загрузчик Bootloader, который стирается программатором. И поэтому его нужно восстановить. Отключаем USB, подключаем назад USBasp и выбираем пункт Burn Bootloader, очень быстро внизу появится сообщение, что загрузчик успешно загружен и все! Можно снова подключаться по USB и работать как раньше.
Обратите внимание, что у меня выбран тип программатора USBasp (programmer), тип платы Arduino/Genuino Uno, а виртуального порта подключения нет, потому что USB отключен.
А вот если в меню выбрать пункт Export compiled Binary, то в папке проекта мы получи два файла:
- test.ino.with_bootloader.standard.hex
- test.ino.standard.hex
Которые будут отличаться небольшим куском кода, добавленным в конце.
Эти файлы нужно прошивать опять же программатором, использую специальные программы. Например, тот же AVRDude, название которого мы видим в ошибке.
Но это уже другая история, свою проблему я решил, чего и вам желаю.
Вот нашел такое упоминание этого процесса в разделе про доступную память устройства.
https://arduinomaster.ru/platy-arduino/ … duino-uno/
Когда вы прошиваете контроллер своим скетчем, он записывается именно сюда. 2кБ из данного пула памяти отводится на bootloader- программу, которая занимается инициализацией системы, загрузки через USB и запуска скетча.
Драйвер USBasp-win-driver-x86-x64-v3.0.7.zip для своего китайского USBasp программатора я скачал отсюда USBasp AVR Programmer, Program Atmel AVR microcontrollers:
https://protostack.com.au/shop/accessor … -downloads
Ставил его на Windows 7 SP1 x64, устройство в системе появилось с названием libusbK Usb Devices. Драйверы есть еще у Zadig, на его сайт ссылается сам Thomas Fischl.
Форум РадиоКот • Просмотр темы — Все про 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 |
| Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |

Бывает, что пишешь программы для Ардуино, загружаешь их в память, и всё прекрасно работает. А потом вдруг — раз — и они больше не загружаются. А среда разработки при попытке загрузить скетч выдаёт ошибку: «arduino avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x30». Что такое? Неужели сгорела плата? Не торопитесь отчаиваться: возможно, ещё не всё потеряно. Давайте разбираться.
Инструкция по поиску причины ошибки Arduino «not in sync: resp=0x30»
Ардуино не программируется, хотя раньше всё работало. Попытка загрузить скетч в память заканчивается вот таким сообщением IDE: «not in sync: resp=0x30».
Для такого поведения возможны несколько причин:
- по какой-то причине произошёл сбой драйвера;
- неправильно выбран COM-порт;
- где-то есть электрическая связь, которой быть не должно (короткое замыкание);
- произошёл сбой загрузчика (bootloader) платы Arduino.
Давайте пройдёмся по всем пунктам этого списка, пока не устраним проблему.
1Причина 1 Сбой драйвера
Откроем диспетчер устройств Windows через меню Пуск Панель управления Оборудование и звук Диспетчер устройств. Есть более короткий вариант: нажимаем клавишу Windows на клавиатуре и, не отпуская её, нажимаем клавишу Pause. Откроется окно свойств системы, в котором с левой стороны есть ссылка на диспетчер устройств.
Находим и раскрываем в диспетчере раздел Порты (COM и LPT). Если драйвер установлен и работает корректно, никаких оверлейных значков типа вопросительного или восклицательного знака на пиктограмме устройства Ардуино быть не должно. Если такие значки имеются, значит, есть проблемы в работе драйвера. Если Arduino или устройства USB-Serial вообще нет в этом разделе диспетчера, значит драйвер даже не установлен. В любом из этих случаев драйвер необходимо установить (или переустановить).
В диспетчере устройств выбираем нашу плату Arduino (или неизвестное устройство, которое появляется при подключении платы Arduino к компьютеру), нажмём на него правой кнопкой мыши и в контекстном меню выберем пункт Обновить драйверы… (Update drivers…).

Выбираем Выполнить поиск на этом компьютере и указываем путь к директории с драйвером для платы. Далее следуем указаниям мастера настройки нового оборудования.
Для оригинальных плат семейства Ардуино драйверы имеются в директории среды разработки, в поддиректории drivers. Для Ардуино-совместимых плат ищите драйвер в интернете.
2Причина 2 Неверно выбран COM-порт
Проверим, что правильно указали COM-порт в IDE Arduino. Проверить, какой порт присвоен системой нашей плате Ардуино можно в диспетчере устройств Windows. Платы Arduino находятся в разделе Порты (COM и LPT) и определяются обычно как устройства Arduino или USB-Serial.
В среде разработки Arduino идём в меню Инструменты Порт и убеждаемся, что указан верный порт. Если нет, указываем нужный.

3Причина 3 Замыкание или несанкционированное соединение
Если плата Arduino лежит на токопроводящей поверхности, есть риск, что где-то имеется короткое замыкание. Это может являться причиной ошибки в работе платы и, в частности, мешать нормальному процессу программирования. Проверьте, что плата находится на изолированной поверхности.
Также к этому типу причин я бы отнёс подключение несанкционированных проводов к выводам 0 и 1 платы Ардуино, которые являются портами RX и TX и используются в процессе загрузки скетча в память платы.
4Причина 4 Сбой загрузчика
Если ничего из перечисленного не помогло, попробуем ещё один вариант: перезапишем загрузчик платы (bootloader).
Загрузчик – это специальная управляющая программа для Arduino, которая исполняется при включении устройства и которая задаёт режим работы платы: либо переходит к исполнению программы из памяти Arduino, либо к процедуре программирования компьютером. Загрузчики для всех поддерживаемых плат Arduino хранятся в папке c IDE в поддиректории hardwarearduinoavr и представляют собой бинарные hex-файлы.
Для реализации этого варианта нам потребуется программатор. Более подробно работу с программатором мы уже рассматривали, поэтому привожу здесь лишь схему подключения:

После подключения программатора в среде программирования Ардуино в меню Инструменты Программатор указываем тип нашего программатора. Например, USBasp. Теперь в том же меню Инструменты выбираем пункт Записать Загрузчик. Этот процесс не занимает много времени.
Если операция прошла успешно, IDE сообщит об этом. А плата Ардуино радостно замигает светодиодом на 13-ом выводе, т.к. в неё, кроме загрузчика, записан скетч по умолчанию – скетч мигания светодиодом Blink.
Если же после всех проделанных манипуляций плата не оживает, возможно, вы и правда сожгли микросхему. Мои соболезнования.

