Меню

Ошибка при записи загрузчика arduino uno

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

  1. [​IMG][/URL][/IMG] [​IMG]
    [​IMG] [​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/), смотрел кучу тем на форуме,все равно не помогает(
    Что еще можно сделать?

  2. А ну ка попробуйте выбрать Arduino Duemilanove or decimila у меня кажется было такое определялся так хотя и работал нормально А после того как перешил Лодыря (просто решил поизвращаться)))стал определятся как UNO.Там по моему разница в бутлоадерах один больше места занимает другой меньше.А точно такая же Шарманка у меня определяется как УНО

    Последнее редактирование: 28 апр 2021

  3. У меня точно такая же поставил драйвер а работает как уно без проблем

  4. Так и у меня работает как УНО всё дело в бутлоадере ссылка выше.Вот самая первая Ардуина пришла с FT232 и мусором в Меге 328.Пришлось самому перешивать.А СН340 это кетайский клон FT232 только драйвера другие а работает так же

  5. все платы в программе ставил, все равно та же ошибка((

  6. Такая же проблема с nano . Но у меня загружалось и резко перестала , в диспетчере сн340 определяется , ничего не замыкал не ронял , на точно такую же нано все заливается без проблем , в чем может быть проблема мб кто подскажет ?

  7. Ну тогда только бутлоадер перешить

  8. как вчера не пытался залить загрузчик через мегу не получилось, залил сегодня через уно со второго раза с первого вылезла вот такая ошибка, подскажите что это?
    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.
    Ошибка при записи загрузчика

  9. Написано: аврдуде: Фу! Недопустимая подпись устройства.
    Дважды проверьте соединения и повторите попытку или используйте-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. Установил данную плату и всё заработало!
    Спрашивайте и вам ответят, стучите — отворят.

  10. какой-то поток сознания… сначала речь о загрузчике. потому вдруг. ВНЕЗАПНО, разговор на I2с перекинулся… потом снова загрузчик…

    как вы это установили? — попахивает чушью

  11. Да глазами увидел в папке ардуино. Может разработчики посчитали перенести китайские UNO в разряд decimila, по факту только так работает. Другой бутлоадер я не знаю где взять что б можно было как с UNO работать

    Вложения:

  12. Везде на форумах пишут, заливаю скотч, вполне понятно

  13. а что на форумах пишут?

    Если становится понятно, что пишут на форумах только после заливки скотча, то это весьма печально.

  14. [​IMG]
    вы думаете. что размер файла HEX и размер прошивки в нем — это одно и то же?

  15. Нано перешивается в Уно запросто. Также как и Уно со старым Лодырем (Duemilanova). Смысла перепрошивки Нано в Уно не вижу—только если освободить 1,5 кб флеша.

  16. джек это не только не скотч, но и вообще даже не вискарь как таковой — это бурбонкстати — купил недавно нано — тыкаю тыкаю — не работает. попереключал скорости — внезапно оказалось что это уно

  17. скорости загрузки в дудочной программе. у уно 115200, а у нано 57600

    [​IMG]

Страница 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
Connection diagram

asked Dec 15, 2020 at 13:25

Ruby's user avatar

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:

enter image description here

You want something like this:

Adafruit Pre-programmed ATMega168p

Buy several, accidents happen!

answered Dec 15, 2020 at 15:23

jwh20's user avatar

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
Connection diagram

asked Dec 15, 2020 at 13:25

Ruby's user avatar

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:

enter image description here

You want something like this:

Adafruit Pre-programmed ATMega168p

Buy several, accidents happen!

answered Dec 15, 2020 at 15:23

jwh20's user avatar

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 и способы их устранения.

10 самых распространенных ошибок при работе с Arduino

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

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

Плата Arduino не распознается компьютером

Решение

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

Установка драйвера для чипа CH340g

После его установки вы сможете увидеть в диспетчере устройств, к какому COM порту подключена ваша плата Arduino.

2. Плата не синхронизируется

В этом случае ваш компьютер видит подключенную к нему плату Arduino, но вы не сможете загрузить в нее код программы и вы при попытке загрузке в нее программы вместо привычного сообщения «done uploading» увидите сообщение об ошибке: “avrdude: stk500_getsync(): not in sync: resp=0x00”.

Решение

Ошибка синхронизации resp = 0x00 является общим ответом (ошибкой) на все проблемы, связанные с некорректной работой микроконтроллера Atmega (или вообще его неработоспособным состоянием), являющегося «сердцем» платы Arduino. Соответственно, причин этой ошибки может быть достаточно много. Мы рекомендуем вам выполнить следующую последовательность шагов чтобы попробовать устранить эту проблему:

  1. Убедитесь в том, что ничего не подключено к цифровым контактам 0 и 1 платы Arduino (включая шилды).
  2. Убедитесь в том, что в настройках Arduino IDE вы выбрали правильный тип платы и правильный COM порт.
  3. Пару раз нажмите кнопку сброса на плате Arduino и попробуйте после этого загрузить в нее код программы.
  4. Если не помогло, то отключите и заново подсоедините плату Arduino к компьютеру.
  5. Закройте и снова запустите 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, тип которой отличается от той платы, которую вы выбрали в настройках Arduino IDE. Ошибка возникает из-за того, что подпись устройства (device signature) на используемой плате отличается от подписи того типа платы, которую вы выбрали в Arduino IDE.

Решение

Выбрать правильный тип платы Arduino в настройках Arduino IDE. Если это не помогает, то можно попробовать прошить плату последней версией загрузчика Arduino (Arduino bootloader).

5. Ошибка запуска (Launch4j Error)

Ошибка запуска Arduino IDE

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 IDE

Одна из самых простых проблем для решения. Она обычно происходит когда вы пытаетесь загрузить код программы в плату Arduino в то время когда открыто окно монитора последовательной связи (serial monitor) (но эта проблема в последних версиях Arduino IDE уже устранена) или вы пытаетесь его открыть во время обмена информацией между Arduino IDE и платой Arduino, или вы пытаетесь в это время использовать этот же самый COM порт для связи с другим устройством. То есть данная проблема возникает тогда, когда вы пытаетесь использовать последовательный порт одновременно для двух вещей.

Решение

Когда вы хотите загрузить программу в плату Arduino с помощью Arduino IDE, просто закройте (остановите работу) всех программ/приложений, которые в это же самое время могут использовать данный последовательный порт. Если в каких то программах вы не уверены, то отключите и снова подсоедините плату Arduino к компьютеру.

7. Скетч успешно загружен, но ничего не происходит

Эта проблема аналогична ранее рассмотренным проблемам. В данном случае у вас появилось сообщение, что программа успешно загружена в плату Arduino, но сама плата после этого ничего не делает.

Решение

  1. Убедитесь в том, что тип выбранной в настройках Arduino IDE платы совпадает с типом платы, в которую вы загрузили программу.
  2. Также подобная ошибка может быть вызвана тем, что размер загружаемого в плату скетча превышает объем ее памяти для хранения программ. Уменьшите объем скетча или используйте плату Arduino с большим объемом памяти.
  3. Еще одной причиной подобной ошибки может быть сильная зашумленность цепей питания. Убедитесь в том, что питающее напряжение, подаваемое на плату, достаточно стабильно.

8. Неизвестная ошибка связи (Unsatisfied Link Error)

Очень редко возникающая ошибка. Связана с тем, что на вашем компьютере используется очень старая библиотека для последовательной связи, возможно, от какой то предыдущей версии операционной системы.

Решение

Для решения этой проблемы найдите файл comm.jar или jcl.jar в папке /System/Library/Frameworks/JavaVM.framework/ или в папках на вашем компьютере, относящимся к переменным окружения CLASSPATH или PATH.

9. Размер скетча слишком большой (Sketch Too Large)

Ошибка слишком большо размера скетча при работе с Arduino

Эта ошибка происходит когда размер кода программы больше чем объем перепрограммируемой памяти (flash memory, памяти для хранения программ) используемой вами платы Arduino. К примеру, объем этой памяти в плате Arduino Uno составляет 32 Кбайта, из которых 2 Кбайта заняты загрузчиком. Если вы попытаетесь загрузить в данную плату скетч объемом более 32 Кбайт, то увидите подобную ошибку.

Решение

Для решения этой проблемы модно использовать следующие способы уменьшения объема кода программы:

  1. Там, где это возможно, используйте целые типы данных (integer) вместо вещественных (float).
  2. Там, где это возможно, используйте при объявлениях переменных спецификатор “const”.
  3. Подключайте в программу только те библиотеки, которые вы будете использовать. Там, где это возможно, используйте облегченные версии используемых библиотек.
  4. Используйте специальные алгоритмы и другие способы уменьшения объема кода программы.

Более радикальным решением этой проблемы является смена платы 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

СообщениеДобавлено: Пт мар 18, 2016 20:19:58 

Потрогал лапой паяльник

Карма: 4

Рейтинг сообщений: 14

Зарегистрирован: Ср мар 02, 2016 16:40:45
Сообщений: 337

Рейтинг сообщения: 0

А Вы при программировании, питаете откуда программируемый контроллер? Я так понимаю с самого девайса, а не с программатора? в таком случае, эта кака может быть лезет по питанию, вряд-ли это может дать сбой по резету?…На ардуине, возможно оно лучше отфильтровано после юсб, поэтому все чисто…Попробуйте ради эксперемента увеличьте шлейф до 30 см, и подключите к ардуине, думаю ничего не изменится, и будет читаться так же без ошибок, возможно :)

Вернуться наверх
 

ПрофильПрофиль

 

Реклама

boka1733

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Пт мар 18, 2016 21:01:59 

Встал на лапы
Аватар пользователя

Карма: 1

Рейтинг сообщений: 79

Зарегистрирован: Пт апр 16, 2010 12:00:19
Сообщений: 121
Откуда: КМВ

Рейтинг сообщения: 0

RX24 писал(а):

А Вы при программировании, питаете откуда программируемый контроллер?

Питание идет от USB —>программатор —> arduino 2560.
На борту у дуньки есть стабилизатор, но я его не использую.
Когда подключаю ISP в пульт радиоуправления (turnigy 9x кто в теме) питания от USB уже не хватает, поэтому включаю штатное питание пульта от его аккумулятора.

Вернуться наверх
Реклама

radteh

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 03:44:55 

Друг Кота
Аватар пользователя

Карма: 23

Рейтинг сообщений: 282

Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 3040
Откуда: Биробиджан

Рейтинг сообщения: 0

Медали: 1

Получил миской по аватаре (1)

moonlight1 какой программой пытаешься работать?

Вернуться наверх

moonlight1

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 06:37:37 

Зарегистрирован: Вс июн 28, 2015 18:07:39
Сообщений: 62
Откуда: Алтайский край, город Бийск

Рейтинг сообщения: 0

radteh, дудкой. Что из среды ардуино, что через консоль все равно не получается прошить загрузчик ардуины.
Напишу с самого начала мб скажете в какой раздел форума тут лучше написать чтобы помогли.

Цитата:

Имеется Arduino nano v3 HC340. Столкнулся с такой проблемой что не могу залить не один скетч, ни новый, ни из ранее созданных и ранее работавших. При заливании под конец выдает такую ошибку:
«avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x0c
avrdude: verification error; content mismatch»
Для проверки использовал простой скетч для мигания встроенного светодиода на 13 пине.
Еще вчера ардуина работала, а сегодня вдруг перестала. Теперь при подключении к ПК постоянно мигает встроенные светодиод на 13 пине
Первым делом был конечно гугл и он сказал что возможно что-то с загрузчиком, предлагал перепрошить, но выдавал примеры только для pro-mini а для nano нет. У меня есть программатор USBasp но как прошить с помощью него загрузчик nano я не нашел и не стал рисковать, решил написать сюда и ждать может скажете чего.
P.s. менял провода и usb порты, все бестолку…

Мне помог один человек подсказал как цеплять проводки чтобы прошить загрузчик

Цитата:

подключаете 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.
avrdude: error: programm enable: target doesn’t answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

Ошибка при записи загрузчика.

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

Потом он сказал попробовать через командную строку шить, но и этот способ не сработал.
Может быть длина проводов влияет? Но я что-то не уверен в этом. Проводки от шлейфа программатора до ардуинки 12см, не думаю что в них причина но если скажете укорочу.
Лог с работой через консоль и ошибками прилагаю, мб что подскажете…

Вложения:


log.txt [5.43 KiB]

Скачиваний: 153

Вернуться наверх
Реклама

Как выбрать батарейки для IoT-устройств – обзор эксперта

Как выбрать химические источники тока (ХИТ, батарейки) для устройств промышленного и бытового интернета вещей? В чем различие критериев выбора и ключевых параметров? Какие изделия популярных брендов FANSO и POWER FLASH удовлетворяют этим критериям?
Обо всем этом рассказывает ведущий инженер компании КОМПЭЛ по модулям питания и химическим источникам тока в статье.

Подробнее>>

RX24

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 09:16:31 

Карма: 4

Рейтинг сообщений: 14

Зарегистрирован: Ср мар 02, 2016 16:40:45
Сообщений: 337

Рейтинг сообщения: 0

moonlight1В ошибке написано что то вроде что ваш программатор со старой прошивкой требует обновить ее, у Вас какая версия прошивки в программаторе? нужна 2011года. А версия в программы в среде ардуино новая Если у вас в программаторе есть перемычка на пониженную частоту, замкните ее и попробуйте загрузить загрузчик если получится будет загружать минуты 3 но загрузит.
Есть программа ArduinoUploader которая позволяет загружать сторонние хекс файлы, с платы ардуино. В ней выбираете тип вашего контроллера ком порт вашей ардуины и путь к хекс файлу вашего загрузчика для вашей платы.он загружается так же как и скетчи.
Если с программатором не пройдет, если вся проблема со слетевшем загрузчике то этой программкой все загрузится, а если нет, то проблема с юсбуартом.

Последний раз редактировалось RX24 Сб мар 19, 2016 10:22:16, всего редактировалось 1 раз.

Вернуться наверх
Реклама

Реклама

Выгодные LED-драйверы MOSO для индустриальных приложений

Компэл представляет выгодные светодиодные драйверы MOSO для промышленных решений с высоким классом защиты от внешних воздействующих факторов, хорошей устойчивостью к импульсным помехам и высокой надежностью. В ряде серий реализована возможность дистанционного контроля, кроме того, отдельные версии драйверов могут программироваться на работу в автономном режиме по заранее заданному сценарию. Рассмотрим подробнее их характеристики.

Подробнее>>

moonlight1

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 10:22:16 

Зарегистрирован: Вс июн 28, 2015 18:07:39
Сообщений: 62
Откуда: Алтайский край, город Бийск

Рейтинг сообщения: 0

RX24 , а как узнать какая версия прошивки? :))) я купил его в этом году на али, так что я даже и не знаю. Вот такой у меня программатор
Изображение
я старую версию ардуины ставил и тоже самое писало =

Последний раз редактировалось moonlight1 Сб мар 19, 2016 10:28:23, всего редактировалось 2 раз(а).

Вернуться наверх

RX24

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 10:24:55 

Карма: 4

Рейтинг сообщений: 14

Зарегистрирован: Ср мар 02, 2016 16:40:45
Сообщений: 337

Рейтинг сообщения: 0

moonlight1 Выложил программу скачайте разархивируйте и попробуйте загрузить ваш загрузчик через эту программу вначале.
Чтобы не искать в среде ваш загрузчик выложу его сюда вот ваш загрузчик, распакуйте его, и загрузите с помощью программы с вою ардуину

Последний раз редактировалось RX24 Сб мар 19, 2016 10:28:49, всего редактировалось 1 раз.

Вернуться наверх

moonlight1

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 10:28:41 

Зарегистрирован: Вс июн 28, 2015 18:07:39
Сообщений: 62
Откуда: Алтайский край, город Бийск

Рейтинг сообщения: 0

RX24 писал(а):

moonlight1 Выложил программу скачайте разархивируйте и попробуйте загрузить ваш загрузчик через эту программу вначале.

По поводу программы, просто подключаешь ардуино к компу без программатора, открываешь программу указываешь .hex файл с загрузчиком для ардуины, выбираешь какой мк, порт и жмешь загрузить? если так то у меня не вышло выдало ошибку и быстро окно закрылось что я даже ошибку не успел сфоткать увидел только error И все) такое успел сфоткать а потом быстро появляется информация и закрывается командная строка

Вернуться наверх

RX24

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 10:31:11 

Карма: 4

Рейтинг сообщений: 14

Зарегистрирован: Ср мар 02, 2016 16:40:45
Сообщений: 337

Рейтинг сообщения: 0

Я вам выложил загрузчик для вашей платы выше, да, распакуйте его, потом в программе выбираете порт вашей ардуины тип микроконтроллера и указываете путь к этому загрузчику жмете загрузить.
Если не загружается тогда либо юсбуарт дохлый, либо мега 328 приказала долго жить…

Вернуться наверх

moonlight1

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 10:37:45 

Зарегистрирован: Вс июн 28, 2015 18:07:39
Сообщений: 62
Откуда: Алтайский край, город Бийск

Рейтинг сообщения: 0

RX24 , вот жеж китайская хрень 3 дня проработала и сдохла, обидно капец… и получение товара то уже подтвердил =
Успел сфоткать ошибку видно эту ардуину на помойку к еще одной будет донором для чего либо :(

Вернуться наверх

RX24

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 10:43:24 

Карма: 4

Рейтинг сообщений: 14

Зарегистрирован: Ср мар 02, 2016 16:40:45
Сообщений: 337

Рейтинг сообщения: 0

Попробовать еще с программатора, если загрузит то что то с юсбуарт…Посмотрите на своем прогере есть ли там перемычка или место под нее с 25 вывода на корпус, если есть то поставьте и попробуйте прошить через программатор, возможно и прокатит, если конечно сдохла не мега.Если прокатит то все равно нужен будет сторонний юсбуарт… :)
Кстати юсбауар можно проверить, замкнуть выводы rx tx открыть в среде ардуино монитор порта, написать в верхне стоке что нибудь и отправить нажав на кнопку, в поле должно появиться то что написали, если все пройдет, значит дохлая мега, ее можно и заменить, если не пройдет то проблема в преобразователе, можно и стороннем пользоваться например от старых мобильников дата кабель

Последний раз редактировалось RX24 Сб мар 19, 2016 10:50:57, всего редактировалось 1 раз.

Вернуться наверх

moonlight1

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 10:50:17 

Зарегистрирован: Вс июн 28, 2015 18:07:39
Сообщений: 62
Откуда: Алтайский край, город Бийск

Рейтинг сообщения: 0

RX24 писал(а):

есть ли там перемычка или место под нее с 25 вывода на корпус, если есть то поставьте и попробуйте прошить через программатор, возможно и прокатит, если конечно сдохла не мега.Если прокатит то все равно нужен будет сторонний юсбуарт… :)

вроде бы есть jp3 а шить через программатор через дудку и консоль как раньше пытался?

Вернуться наверх

RX24

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 10:52:55 

Карма: 4

Рейтинг сообщений: 14

Зарегистрирован: Ср мар 02, 2016 16:40:45
Сообщений: 337

Рейтинг сообщения: 0

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

Вернуться наверх

moonlight1

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 11:01:10 

Зарегистрирован: Вс июн 28, 2015 18:07:39
Сообщений: 62
Откуда: Алтайский край, город Бийск

Рейтинг сообщения: 0

не че не получилось все так же

Вернуться наверх

RX24

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 11:10:29 

Карма: 4

Рейтинг сообщений: 14

Зарегистрирован: Ср мар 02, 2016 16:40:45
Сообщений: 337

Рейтинг сообщения: 0

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

Вернуться наверх

moonlight1

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 11:25:50 

Зарегистрирован: Вс июн 28, 2015 18:07:39
Сообщений: 62
Откуда: Алтайский край, город Бийск

Рейтинг сообщения: 0

замкнул, пишу число, нажимаю отправить, а в ответ тишина.
я не в курсе в сам скетч надо что-то писать? а то он у меня пустой

Вернуться наверх

RX24

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 11:38:31 

Карма: 4

Рейтинг сообщений: 14

Зарегистрирован: Ср мар 02, 2016 16:40:45
Сообщений: 337

Рейтинг сообщения: 0

Нет скетч тут не причем) Замыкаете rxtx открываете в среде ардуино монитор последовательного порта в верхней строке пишете что нибудь и жмете отправить, в поле у вас должно появится то же самое что вы написали.
На плате еще должны быть два светодиода, на схеме преобразователя, когда что то отправляете они должны перемигиваться они у вас есть?

Последний раз редактировалось RX24 Сб мар 19, 2016 11:47:43, всего редактировалось 1 раз.

Вернуться наверх

moonlight1

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 11:47:13 

Зарегистрирован: Вс июн 28, 2015 18:07:39
Сообщений: 62
Откуда: Алтайский край, город Бийск

Рейтинг сообщения: 0

значит я правильно делал, отсылал число скажем 100, но в ответ нечего не приходило

Вернуться наверх

RX24

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 11:48:33 

Карма: 4

Рейтинг сообщений: 14

Зарегистрирован: Ср мар 02, 2016 16:40:45
Сообщений: 337

Рейтинг сообщения: 0

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

Вернуться наверх

moonlight1

Не в сети

Заголовок сообщения: Re: Все про USBAsp

СообщениеДобавлено: Сб мар 19, 2016 11:55:56 

Зарегистрирован: Вс июн 28, 2015 18:07:39
Сообщений: 62
Откуда: Алтайский край, город Бийск

Рейтинг сообщения: 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».

Ошибка "not in sync: resp=0x30" в IDE Arduino

Ошибка «not in sync: resp=0x30» в IDE Arduino

Для такого поведения возможны несколько причин:

  • по какой-то причине произошёл сбой драйвера;
  • неправильно выбран COM-порт;
  • где-то есть электрическая связь, которой быть не должно (короткое замыкание);
  • произошёл сбой загрузчика (bootloader) платы Arduino.

Давайте пройдёмся по всем пунктам этого списка, пока не устраним проблему.

1Причина 1 Сбой драйвера

Откроем диспетчер устройств Windows через меню Пуск Панель управления Оборудование и звук Диспетчер устройств. Есть более короткий вариант: нажимаем клавишу Windows на клавиатуре и, не отпуская её, нажимаем клавишу Pause. Откроется окно свойств системы, в котором с левой стороны есть ссылка на диспетчер устройств.

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

В диспетчере устройств выбираем нашу плату Arduino (или неизвестное устройство, которое появляется при подключении платы Arduino к компьютеру), нажмём на него правой кнопкой мыши и в контекстном меню выберем пункт Обновить драйверы… (Update drivers…).

Arduino в диспетчере устройств

Arduino в диспетчере устройств Windows

Выбираем Выполнить поиск на этом компьютере и указываем путь к директории с драйвером для платы. Далее следуем указаниям мастера настройки нового оборудования.

Для оригинальных плат семейства Ардуино драйверы имеются в директории среды разработки, в поддиректории drivers. Для Ардуино-совместимых плат ищите драйвер в интернете.

2Причина 2 Неверно выбран COM-порт

Проверим, что правильно указали COM-порт в IDE Arduino. Проверить, какой порт присвоен системой нашей плате Ардуино можно в диспетчере устройств Windows. Платы Arduino находятся в разделе Порты (COM и LPT) и определяются обычно как устройства Arduino или USB-Serial.

В среде разработки Arduino идём в меню Инструменты Порт и убеждаемся, что указан верный порт. Если нет, указываем нужный.

Указываем COM-порт в IDE Arduino

Выбор COM-порта в IDE Arduino

3Причина 3 Замыкание или несанкционированное соединение

Если плата Arduino лежит на токопроводящей поверхности, есть риск, что где-то имеется короткое замыкание. Это может являться причиной ошибки в работе платы и, в частности, мешать нормальному процессу программирования. Проверьте, что плата находится на изолированной поверхности.

Также к этому типу причин я бы отнёс подключение несанкционированных проводов к выводам 0 и 1 платы Ардуино, которые являются портами RX и TX и используются в процессе загрузки скетча в память платы.

4Причина 4 Сбой загрузчика

Если ничего из перечисленного не помогло, попробуем ещё один вариант: перезапишем загрузчик платы (bootloader).

Загрузчик – это специальная управляющая программа для Arduino, которая исполняется при включении устройства и которая задаёт режим работы платы: либо переходит к исполнению программы из памяти Arduino, либо к процедуре программирования компьютером. Загрузчики для всех поддерживаемых плат Arduino хранятся в папке c IDE в поддиректории hardwarearduinoavr и представляют собой бинарные hex-файлы.

Для реализации этого варианта нам потребуется программатор. Более подробно работу с программатором мы уже рассматривали, поэтому привожу здесь лишь схему подключения:

Схема подключения программатора к Arduino

Схема подключения программатора к Arduino

После подключения программатора в среде программирования Ардуино в меню Инструменты Программатор указываем тип нашего программатора. Например, USBasp. Теперь в том же меню Инструменты выбираем пункт Записать Загрузчик. Этот процесс не занимает много времени.

Если операция прошла успешно, IDE сообщит об этом. А плата Ардуино радостно замигает светодиодом на 13-ом выводе, т.к. в неё, кроме загрузчика, записан скетч по умолчанию – скетч мигания светодиодом Blink.

Если же после всех проделанных манипуляций плата не оживает, возможно, вы и правда сожгли микросхему. Мои соболезнования.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

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

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при запуске cod mw2
  • Ошибка при загрузке файла на гугл диск 38