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

Содержание

  1. Скетч не загружается в Ардуино. Что делать?
  2. Добавить комментарий Отменить ответ
  3. Первая прошивка, ошибки, FAQ
  4. Первая прошивка
  5. Ошибки компиляции
  6. Частые ошибки в коде, приводящие к ошибке компиляции
  7. Ошибки загрузки
  8. Предупреждения
  9. Видео
  10. Произошла ошибка при загрузке скетча Ардуино
  11. Ошибки компиляции для Arduino Nano, Uno, Mega
  12. avrdude: stk500_recv(): programmer is not responding
  13. a function-definition is not allowed here before ‘<‘ token
  14. expected initializer before ‘>’ token / expected ‘;’ before ‘>’ token
  15. ‘что-то’ was not declared in this scope
  16. exit status 1 ошибка компиляции для платы Arduino
  17. missing fqbn (fully qualified board name)

Скетч не загружается в Ардуино. Что делать?

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

Понятное дело, что первое, что приходит на ум заказчику – ошибка в моей программе, за что поначалу мне было немного обидно.

Существует две наиболее частые ситуации:

  1. Arduino IDE ругается, что не может найти указанный файл (No such file or directory). Это говорит о том, что нужно установить какую-то библиотеку. А со своими программами я всегда поставляю все необходимые библиотеки.
  2. Загрузка скетча подвисает, а потом выдает ошибку:

1я ситуация разобрана здесь.

Вторая ситуация связана либо с тем, что плата выбрано неверно, либо выбранная плата имеет в себе старый загрузчик, который не желает работать на той скорости, на которой хочет IDE.

Дело в том, что Arduino IDE предполагает, что все современные Nano и UNO должны работать со скоростью 15200 бит в секунду. А китайские клоны до сих пор довольно часто работают со скоростью в 2 раза меньше – 57600.

Решить эту проблему можно двумя способами:

  1. Обновить загрузчик на плате
  2. Добавить плату со старым загрузчиком в конфигурацию Arduino IDE

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

Итак, зайдите на компьютере в папку, в которую установлена Arduino IDE. Лично у меня это, как и большинства, “C:Program Files (x86)Arduino”, если Вы на Windows.

Теперь откройте папку hardwarearduinoavr и найдите файл boards.txt

В этом файле и находятся все платы, которые Вы выбираете через меню «Инструменты > Плата…»

Выбор платы из списка

Откройте этот файл в текстовом редакторе, например, в блокноте.

Найдите в нем строчку uno.upload.speed

Настройки плат ардуино

Мы видим, что скорость загрузки равно 115200. Но у нас плата, которая хочет 57600!

Можно, конечно, поменять на 115200 на 57600, но тогда, к сожалению, мы не сможет загружать скетчи на плату с новым загрузчиком.

Выход, получается, один – добавить плату, скажем, UNO2, на случай скорости 57600.

Предлагаю просто вставить себе мои настройки и сохранить файл:

Теперь у вас две платы UNO и две Nano:

Выбор платы ардуино в Arduino IDE

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Первая прошивка, ошибки, FAQ

Первая прошивка

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

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

  • Неисправен USB кабель.
  • Неисправен USB порт компьютера.
  • Неисправен USB порт Arduino.
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка.
  • Попробуйте другую плату, чтобы исключить часть проблем из списка.
  • На плате Arduino сгорел диод по питанию USB.
  • Плата Arduino сгорела полностью из-за неправильного подключения питания или короткого замыкания

2. Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей.
  • Кабель должен быть data-кабелем, а не “зарядным”.
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб.
  • Не установлены драйверы для Arduino.

3. В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, отличный от COM1. Если этого не произошло:

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

4. Выбираем свою плату. Если это Arduino Nano, выбираем в ИнструментыПлатаArduino Nano. Если другая – выбираем другую. Нажимаем стрелочку в левом верхнем углу (загрузить прошивку). Да, загружаем пустую прошивку.

  • [Для Arduino Nano] В микроконтроллер китайских нанок зашит “старый” загрузчик, поэтому выбираем ИнструментыПроцессорATmega328p (Old Bootloader). Некоторые китайцы зашивают в свои платы новый загрузчик, поэтому если прошивка не загрузилась (загрузка идёт минуту и вылетает ошибка avrdude: stk500_getsync()) – попробуйте сменить пункт Процессор на ATmega328p.

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

Ошибки компиляции

Возникает на этапе компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текстошибки и понять, куда копать.
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием название_файла.h no such file or directory. Это означает, что в скетче используется библиотека , и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по название файла.
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Возможно поможет урок по оптимизации кода.

Частые ошибки в коде, приводящие к ошибке компиляции

  • expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
  • stray ‘320’ in program – русские символы в коде
  • expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
  • … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
  • redefinition of … – повторное объявление функции или переменной
  • storage size of … isn’t known – массив задан без указания размера

Ошибки загрузки

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

  • USB кабель, которым подключается Arduino, должен быть Data-кабелем, а не кабелем только для зарядки. Нужным нам кабелем подключаются к компьютеру плееры и смартфоны.
  • Причиной ошибки загрузки являются не установленные/криво установленные драйвера CH340, если у вас китайская NANO.
  • Также будет ошибка avrdude: ser_open(): can’t open device, если не выбран COM порт, к которому подключена Arduino. Если кроме COM1 других портов нет – читай два пункта выше, либо попробуй другой USB порт, или вообще другой компьютер.
  • Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением ардуины от питания. Потом вставляем USB и по новой прошиваем.
  • Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”. Также в свежих версиях IDE нужно выбирать ATmega328P (Old Bootloader) для китайских плат NANO.
  • Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
  • Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
  • Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% сдох загрузчик. Второй неприятный исход – загрузчик “слетел”, и его можно прошить заново.

Предупреждения

Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет критических ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:

  • # Pragma message… – это просто сообщения, оставленные разработчиком проекта или библиотеки. Чаще всего номер версии и прочая информация.
  • Недостаточно памяти, программа может работать нестабильно – Чуть выше этого предупреждения обычно идёт информация о задействованной памяти. Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85-90%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти. Так что ещё раз: это всего лишь предупреждение, а не ошибка.

Завершая раздел Введение в Arduino поговорим о вопросах, которые очень часто возникают у новичков:

  • Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс Flash памяти. А он довольно большой.
  • Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
  • Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов. Подробнее в этом уроке.
  • Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию. Подробнее в этом уроке.
    • Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
    • Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу.
    • Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь.
    • Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI

Видео

Источник

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

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

Ошибки компиляции для Arduino Nano, Uno, Mega

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

avrdude: stk500_recv(): programmer is not responding

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

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

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

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

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

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

expected initializer before ‘>’ token / expected ‘;’ before ‘>’ token

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

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

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

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

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

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

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

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

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

missing fqbn (fully qualified board name)

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

Источник

Offline

Зарегистрирован: 28.12.2015

Пришли 2 контроллера, китацские копии arduino nano 3 и UNO. Обе на CH340.

Драйвера встали отлично, UNO работает без проблем, а в NANO не льются скейтчи, вылетает ошибка:

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x01

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

Отсюда вопрос, как при помощи рабочей UNO? прошить бутлоадер в NANO??

Может есть схема подключения с подробной инструкцией? Или кто-то может в кратце обрисовать, что к чему?

Заранее большое, человеческое СПАСИБО!)

soznik

Offline

Зарегистрирован: 20.09.2015

была нано 328 -контролер убил поставил мегу 168р.

mega168p nano-  boot загрузился светик на пин 13 моргает , а скетчи не грузятся.   ???

пишит

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58

         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is «C:Program FilesArduinohardwaretoolsavr/etc/avrdude.conf»

         Using Port                    : COM4

         Using Programmer              : arduino

         Overriding Baud Rate          : 19200

         AVR Part                      : ATmega168P

         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        512    4      0  3600  3600 0xff 0xff

           flash         65     6   128    0 yes     16384  128    128  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 : Arduino

         Description     : Arduino

         Hardware Version: 2

         Firmware Version: 1.16

         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.00s

avrdude: Device signature = 0x1e9406

avrdude: Expected signature for ATmega168P is 1E 94 0B

         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

и виснит на загрузке.

не могу востановить загрузчик в четырёх нано

Offline

Зарегистрирован: 06.01.2020

допустим в одной пишет ошибку

Arduino: 1.8.11 (Windows 10), Плата:»Arduino Nano, ATmega328P (Old Bootloader)»

avrdude: Expected signature for ATmega328P is 1E 95 0F

         Double check chip, or use -F to override this check.

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

прошиваю через уно 

соединил 13-13 / 12-12 / 11-11 / 10-ресет и питание

на двух нано при заливки блинка он залился но после этого на неё нельзя ничего залить 

у третий нано изначально пишит — выбранный последовательный порт не существует или плата не подключена к нему

у четвёртой слетел после попытки востановить на предыдущих трёх но как прошивалка она работает а именно я соединяю с промини рх-рх / тх-тх и промини прошивается через неё без проблем

помогите востановить я уже весь ютуб перепробывал их стандартные примеры не помогают 

  1. МК Atmega328p магазинные, куплены в Чип и Дипе, т.е. непрошитый.

    Припаял МК на плату, кварц 16 МГц тоже припаял.
    Пробую прошить загрузчик, в IDE выбираю Uno, в качестве программатора «Arduino as ISP» (через другую ардуинку):

    Пробую через программатор USBasp (что с установленной перемычкой JP3, что без нее):Другие ардуинки, валявшиеся в столе, обеими способами прошиваются загрузчиком нормально, без ошибок.
    А вот с новыми магазинными МК затык.

    Где порыться?

  2. Попробуйте через AVRDUDEPROG и USBasp (с установленной перемычкой JP3) считать фьюзы. Если получится, запишите в МК фьюзы для ардуины. Значения фьюзов можно взять в boards.txt. Если всё пройдёт удачно, заливка загрузчика из IDE потом должна пройти удачно.

  3. Надо разрешить секцию загрузчика и указать область памяти под него.

  4. А других программаторов ( Громова ,5 проводков) нет?Я бы ими попробовал.

  5. При записи загрузчика через IDE нужные FUSE биты должны устанавливаться автоматом.

  6. Так и есть.У меня под это дело Шилд есть—пишет без проблем

  7. Я шью с помощью AVRISPmkII через AtmelStudio. Никогда не было никаких проблем.

  8. У меня для голых МК такой.
    [​IMG]
    Впаял для кварца разъём, теперь подходит для всех случаев жизни.

  9. а если МК такой
    [​IMG]

  10. Тогда никак

    Там же вроде есть кварц? Только не на 16?Есть у меня такой конструктор так и не собрал

  11. Да, кварц по задумке разработчиков должен впаиваться на плату. Я впаял вместо кварца такие разъёмы.
    [​IMG]
    Теперь оперативно можно поставить кварц на любую частоту, или убрать совсем.

  12. Так это высоковольтный программатор или нет?

  13. ну как там? фьюзы прочитываются? неужели в чипдипе уже и атмеги паленые появились?
    мне попадались звукозаписывающие микросхемы ISD у которых ноги не работали, CP2102 переделанные в фитнес-браслет и залоченные продали однажды. но атмеги пока все нормальные были.

  14. У меня такие есть.
    [​IMG]
    Справа-кетайский Шилд. Слева-мой Самопал под Мегу-328.Под Шилды и ISP программатор. Может работать как Ардуино.

Introduction: How to Fix «Expected Signature for ATMEGA328P Is 1E 95 0F Double Check Chip, or Use -F to Override This»

If you are like me and you bought the slightly cheaper ATMEGA328-PU instead of the ATMEGA328P-PU, without understanding the difference, then you may encounter some issues when burning the bootloader. I was stuck with this myself for some time and decided to share my learnings. Hope it helps some others out there!

Step 1: Editing the Avrdude.CONF File

There are countless forums with advice on how to deal with the following two errors you may encounter when burning the bootloader of an Atmega328P:

  1. «avrdude: Yikes! Invalid device signature.” or
  2. «avrdude: Expected signature for ATMEGA328P is 1E 95 0F»

As other forums will tell you, the solution is to modify the avrdude.conf file. This is located in C:Program Files (x86)Arduinohardwaretoolsavretc.******

Open the file and search for «0x1e 0x95 0x0F». Replace this with «0x1e 0x95 0x14«.

Restart the Arduino IDE and burn the bootloader on your chip/s.

After completing this, revert the changes in the avrdude.conf file and restart the Arduino IDE once more. Now you can upload code as per usual.

****** IF THIS DOES NOT WORK, READ THE BELOW PARAGRAPH ******

If like me you followed the above instructions and still met the same error message, do not fear! This simply means that the avrdude.conf file that your system is using is actually somewhere else. To find the location of the avrdude.conf that your system is using, upload any sketch to your arduino board and search the output for «avrdude». From here you will see the folder it is located within. Copy this path into a windows explorer and edit the avrdude.conf file here instead.

For me this was:

C:UsersYOUR_USER_NAMEAppDataLocalArduino15packagesarduinotoolsavrdude6.3.0-arduino17etc

I hope this helps somebody else out there struggling with this issue!

Have a great day

Be the First to Share

Recommendations

well…
the problem starts from the time that I accidentally touched the crystal on my arduino and all of a sudden everything messed up; the leds on arduino turned on and off while being touched, and after that I was unable to program it…
after a lot of searches, I decided t burn bootloader again…
so I got a USBasp and wired it to arduino and tried to program it using programmer or burning bootloader…
but…
It is not posible because of the following ERROR:

**Arduino: 1.8.15 (Windows 10), Board: "Arduino Uno"

avrdude: warning: cannot set sck period. please check for usbasp firmware update.

avrdude: Expected signature for ATmega328P is 1E 95 0F

         Double check chip, or use -F to override this check.

Error while burning bootloader.**

I tried changing that 0xF in config file to 0x14, because of the difference between ATmega328 and ATmega328p…
but still no progress…
I will be very glad if someone can help me run this UNO…

by the way, is it possible that the crystal which I touched with hand is ruined or interrupted and all of these stuff is because of that?

well…
the problem starts from the time that I accidentally touched the crystal on my arduino and all of a sudden everything messed up; the leds on arduino turned on and off while being touched, and after that I was unable to program it…
after a lot of searches, I decided t burn bootloader again…
so I got a USBasp and wired it to arduino and tried to program it using programmer or burning bootloader…
but…
It is not posible because of the following ERROR:

**Arduino: 1.8.15 (Windows 10), Board: "Arduino Uno"

avrdude: warning: cannot set sck period. please check for usbasp firmware update.

avrdude: Expected signature for ATmega328P is 1E 95 0F

         Double check chip, or use -F to override this check.

Error while burning bootloader.**

I tried changing that 0xF in config file to 0x14, because of the difference between ATmega328 and ATmega328p…
but still no progress…
I will be very glad if someone can help me run this UNO…

by the way, is it possible that the crystal which I touched with hand is ruined or interrupted and all of these stuff is because of that?

Первая прошивка


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

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])

I just compared the avrdude versions hipped with 1.6.9 and 1.6.10 with the STK500 and JTAGICE3 programmers I have lying around. As I remembered, they return different values for the unused bits (note the differences in the high fuse).

matthijs@grubby:~/arduino-1.6.9$ ./hardware/tools/avr/bin/avrdude -C ./hardware/tools/avr/etc/avrdude.conf -h 2>&1 |grep version
avrdude version 6.0.1, URL: <http://savannah.nongnu.org/projects/avrdude/>
matthijs@grubby:~/arduino-1.6.9$ ./hardware/tools/avr/bin/avrdude -C ./hardware/tools/avr/etc/avrdude.conf -c stk500v2 -p m328p -P /dev/ttyUSB0

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.09s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK (H:05, E:DE, L:FF)

avrdude done.  Thank you.

matthijs@grubby:~/arduino-1.6.9$ ./hardware/tools/avr/bin/avrdude -C ./hardware/tools/avr/etc/avrdude.conf -c jtag3isp -p m328p

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.20s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK (H:FD, E:DE, L:FF)

avrdude done.  Thank you.

However, with avrdude 6.3, both programmers return «1» for unused bits:

matthijs@grubby:~/arduino-1.6.10$ ./hardware/tools/avr/bin/avrdude -C ./hardware/tools/avr/etc/avrdude.conf -h 2>&1 |grep version
avrdude version 6.3, URL: <http://savannah.nongnu.org/projects/avrdude/>
matthijs@grubby:~/arduino-1.6.10$ ./hardware/tools/avr/bin/avrdude -C ./hardware/tools/avr/etc/avrdude.conf -c stk500v2 -p m328p -P /dev/ttyUSB0

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.09s

avrdude: Device signature = 0x1e950f (probably m328p)

avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF)

avrdude done.  Thank you.

matthijs@grubby:~/arduino-1.6.10$ ./hardware/tools/avr/bin/avrdude -C ./hardware/tools/avr/etc/avrdude.conf -c jtag3isp -p m328p

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.19s

avrdude: Device signature = 0x1e950f (probably m328p)

avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF)

avrdude done.  Thank you.

This suggests that indeed the unused bits are now consistent among multiple programmers (though testing on more programmers would be good), however they are inverted as to what boards.txt now lists. I’m mostly confirming what is already stated, though.

This bugreport suggests that there might still be a problem (introduced in 6.2) with the lock bits. I’m not sure if this is already fixed in 6.3, and I didn’t dig in the code to see. Testing is probably a good idea (if burn bootloader works, then I think it’s ok).

soznik

Offline

Зарегистрирован: 20.09.2015

была нано 328 -контролер убил поставил мегу 168р.

mega168p nano-  boot загрузился светик на пин 13 моргает , а скетчи не грузятся.   ???

пишит

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58

         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is «C:Program FilesArduinohardwaretoolsavr/etc/avrdude.conf»

         Using Port                    : COM4

         Using Programmer              : arduino

         Overriding Baud Rate          : 19200

         AVR Part                      : ATmega168P

         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        512    4      0  3600  3600 0xff 0xff

           flash         65     6   128    0 yes     16384  128    128  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 : Arduino

         Description     : Arduino

         Hardware Version: 2

         Firmware Version: 1.16

         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.00s

avrdude: Device signature = 0x1e9406

avrdude: Expected signature for ATmega168P is 1E 94 0B

         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

и виснит на загрузке.

VKimport

Мастер

    • Поделиться

Купил новую atmega328p-pu, заливаю бутлоадер через Arduino IDE, пишет ошибка:
avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Ошибка при записи загрузчика.
Подключаю через кварцевый резонатор + конденсаторы на 22пФ, по схеме(фотография #2).
Что делать, как быть? ))

Оригинал сообщения

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Lila Lila

Знаток

    • Поделиться

для начала прочитать сигнатуру купленного контроллера, а дальше думать

  • Цитата

больше резинифератоксина, ещё больше резинифератоксина. где мой резинифератоксин и hp22b?

Ссылка на комментарий
Поделиться на другие сайты

Orzubek Rakhimov

Новичок

    • Поделиться

Lila, где мне прочитать сигнатуру, другие пишут, что надо поменять значение сигнатуры в
конфиге, 0x1e 0x95 0x14; на это. Поменял, пишет ту же самую ошибку, только с новым значением конфигурации:
avrdude: Expected signature for ATmega328P is 1E 95 14
Double check chip, or use -F to override this check.

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Приглашаем на вебинар «LED-драйверы в линейке поставок Компэл. Новинки и хиты» (20.04.2023)

Приглашаем всех желающих принять участие в вебинаре, посвященном LED-драйверам. На мероприятии мы рассмотрим существующую и новую продукцию из линейки поставок Компэл для интерьерного, архитектурно-декоративного, наружного и промышленного освещения, а также специальные драйверы с повышенной выходной мощностью для освещения площадей, стадионов и теплиц. Будут представлены LED-драйверы производителей MEAN WELL, MOSO, Snappy, а также драйверы для аварийного освещения (ISSATA). Рассмотрим их особенности и преимущества; узнаем, какая новая продукция появилась у MEAN WELL за прошедший год, и чего нам ждать в будущем. 

Подробнее>>

Alexey Kroptovsky

Профи

    • Поделиться

Орзубек, убил как-то лоадер в Ардуине уно залив хекс от нано. Причём и до этого он не прошивался родным IDE. Перепрошил, используя нано как ISP программатор, через тот же IDE. Там даже готовый скетч есть для этого и много описаний в инете.
Рс. А вот нано, до всего этого, вполне успешно пережевала хекс от уно…

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Mikhail Sviridov

Экспериментатор

    • Поделиться

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

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Источники питания MEAN WELL для автоматизации зданий, в том числе – ИП для шин KNX и DALI            

Представляем источники питания MEAN WELL для автоматизации зданий и сооружений. Ассортимент включает в себя базовые ультратонкие ИП на DIN-рейку, ИП для питания шин KNX и DALI, LED-драйверы, управляемые по протоколам KNX, DALI, DALI-2 и 0-10 В и ограничители пускового тока. Все это позволяет построить полную систему электропитания умного дома/офиса. Рассмотрим их характеристики и нюансы применения. 

Подробнее>>

Mikhail Sviridov

Экспериментатор

    • Поделиться

Даже загрузчик не записывается

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

  • Реклама

Viktor Savelyev

Энтузиаст

    • Поделиться

Михаил, Каким программатором не шьется? Какие программы используешь?

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Lila Lila

Знаток

    • Поделиться

Михаил, а какую ошибку пишет?

  • Цитата

больше резинифератоксина, ещё больше резинифератоксина. где мой резинифератоксин и hp22b?

Ссылка на комментарий
Поделиться на другие сайты

Mikhail Sviridov

Экспериментатор

    • Поделиться

Виктор, usbasp. То что в интернете на форумах не помогает. Не снижение частоты, ничего

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Mikhail Sviridov

Экспериментатор

    • Поделиться

Lila, та же ошибка, что и у автора поста. И сигнатура та же

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Mikhail Sviridov

Экспериментатор

    • Поделиться

Виктор, много пробовал, в том числе Ардуино иде. Везде та же ошибка

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Lila Lila

Знаток

    • Поделиться

Михаил, я ж говорил уже, нужно прочитать сигнатуру и думать дальше

  • Цитата

больше резинифератоксина, ещё больше резинифератоксина. где мой резинифератоксин и hp22b?

Ссылка на комментарий
Поделиться на другие сайты

Orzubek Rakhimov

Новичок

    • Поделиться

ХЗ как, но все заработало, странно то, что бутлоадер прошился в атмегу за секунду, неоднократно перешивал, прошивается все равно меньше 3сек, не знаю, радоватся, или как

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Orzubek Rakhimov

Новичок

    • Поделиться

Решился после того, переустановил Arduino IDE

  • Цитата
Ссылка на комментарий
Поделиться на другие сайты

Форум РадиоКот :: Просмотр темы — помоните заменить сигнатуры для прошивки


Автор:  Di123 [ Ср янв 20, 2021 13:51:06 ]
Заголовок сообщения:  помоните заменить сигнатуры для прошивки

сайт конструктор выдал такой код

Код:

a168_16MHz.bootloader.tool=avrdude
a168_16MHz.name=atmega168 (16 MHz)
a168_16MHz.upload.protocol=arduino
a168_16MHz.upload.maximum_size=15872
a168_16MHz.upload.speed=57600
a168_16MHz.bootloader.low_fuses=0xff
a168_16MHz.bootloader.high_fuses=0xde
a168_16MHz.bootloader.extended_fuses=0x4
a168_16MHz.bootloader.unlock_bits=0x3F
a168_16MHz.bootloader.lock_bits=0x0F
a168_16MHz.bootloader.path=optiboot
a168_16MHz.bootloader.file=a168_16MHz_ff_de_4.hex
a168_16MHz.build.mcu=atmega168P
a168_16MHz.build.f_cpu=16000000L
a168_16MHz.build.core=arduino
a168_16MHz.build.variant=standard

в него были добавлены строки биты и переименован atmega168P

собственно проблема то и в этом что ИДЕ ожидает сигнатуру avrdude: Expected signature for ATmega168P is 1E 94 0B
но она от 168 щас прописана потомучто сайт конструктор делает только для 168

вот как бы вписать её в этот код ?



Автор:  Di123 [ Чт янв 21, 2021 12:58:53 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

BOB51,эту работу я уже проделал
добавил в боардс данные
и добавил в папку ideV6hardwarearduinoavrbootloadersoptiboot фаил хекс с прошивкой и она у меня уже отобразилась в списке контролеров

при прошивке проблема в том что банальная приписка буковки после 168 не помогает
сигнатура не работает

Вложение:



2021-01-21_165559.png [29.71 KiB]

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



Автор:  musor [ Чт янв 21, 2021 15:55:04 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

а чем 186 т 186р отличаются навено толка devid ципки та забей болт на проверку убраф галку и шей


Автор:  Dimon456 [ Чт янв 21, 2021 16:11:35 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

А как вы в IDE скорость 57600 задаете?


Автор:  parovoZZ [ Чт янв 21, 2021 16:19:03 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

а чем 186 т 186р отличаются

p — picopower. А так вроде ни чем.


Автор:  NStorm [ Чт янв 21, 2021 16:46:05 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

Цитата:

собственно проблема то и в этом что ИДЕ ожидает сигнатуру avrdude: Expected signature for ATmega168P is 1E 94 0B
но она от 168 щас прописана потомучто сайт конструктор делает только для 168

Что-то вы запутались. IDE (а точнее программатор avrdude) ожидает сигнатуру именно от Atmega328P. Вы в конфиге поменяли 168 -> 168P, этого достаточно, чтобы поменять для него. Но у вас МК выдает какую-то другую. Может у вас PB сам МК?
Покажите полное сообщение об ошибке. Он должен чуть ранее написать какую сигнатуру он считал на самом деле.


Автор:  BOB51 [ Чт янв 21, 2021 23:19:05 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

Вот так выглядят окна настроек с заданными для подготовки бутлоадера и фузов параметрами:
это для DIY

это для MCUdude_MightyCore

что там будет в опциях задано — то и пойдет через программатор в МК,
а уже как они там образуются — мне не суть важно.
Далее только задать «записать загрузчик» (через ISP программатор).
:roll:


Автор:  Di123 [ Пт янв 22, 2021 06:51:39 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

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

мне нужен оптибут на 168РА весом в пол килобайта как у уно

поэтому я на сайте консмтруктора сделал загрузчик на оптибуте
Изображение

мне помогли его доработать добавив пару строк битов и строку с названием и переименовав в 168Р
только этот венигрет не грузится

а сторонии загрузчики мне бесмысленны


Автор:  NStorm [ Пт янв 22, 2021 08:19:22 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

Di123, вы вот пишите, пишите, а на вопрос не отвечаете. Еще раз, какие сейчас сигнатуры говорит МК ответил? Полный вывод ошибки.


Автор:  Di123 [ Пт янв 22, 2021 08:43:01 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

Код:

Arduino: 1.8.13 (Windows 10), Плата:»atmega168 (16 MHz)»

D:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/bin/avrdude -CD:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf -v -patmega168P -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m

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 «D:��������PortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf»

         Using Port                    : COM3

         Using Programmer              : stk500v1

         Overriding Baud Rate          : 19200

         AVR Part                      : ATmega168P

         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        512    4      0  3600  3600 0xff 0xff

           flash         65     6   128    0 yes     16384  128    128  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 = 0xff00ff

avrdude: Expected signature for ATmega168P is 1E 94 0B

         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

у меня есть скаченые с гитхаба все оптибуты
и там есть такой

Вложение:

он точно рабочий но что бы его загрузить нужен был УСБАСП через аврдуде
и его бы я в приоритете хотел бы загрузить

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

Добавлено after 2 minutes 59 seconds:
optiboot_flash_atmega168p_UART0_19200_16000000L я его скидываю в ideV6hardwarearduinoavrbootloadersoptiboot но как его привязать к боардс что бы выбрать незнаю


Автор:  NStorm [ Пт янв 22, 2021 09:11:53 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

А кристалл к целевому МК у вас подключен как надо? С ёмкостями?

Потому что с сигнатуры у вас читается мусор, как будто частота не подходит. Или что-то еще с подключением неверно. В общем проблема не в тексте настроек, а в железе.

Добавлено after 1 minute 53 seconds:

Цитата:

он точно рабочий но что бы его загрузить нужен был УСБАСП через аврдуде
и его бы я в приоритете хотел бы загрузить

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

Это не важно в данном случае в мегу168p заливают они одинаково. Но у вас с подключением проблема какая-то.


Автор:  Di123 [ Пт янв 22, 2021 09:18:50 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

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

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

Код:

Arduino: 1.8.13 (Windows 10), Плата:»atmega168 (16 MHz)»

D:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/bin/avrdude -CD:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf -v -patmega168P -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m

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 «D:��������PortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf»

         Using Port                    : COM3

         Using Programmer              : stk500v1

         Overriding Baud Rate          : 19200

         AVR Part                      : ATmega168P

         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        512    4      0  3600  3600 0xff 0xff

           flash         65     6   128    0 yes     16384  128    128  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.16

         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 = 0x1e9406 (probably m168)

avrdude: Expected signature for ATmega168P is 1E 94 0B

         Double check chip, or use -F to override this check.

avrdude done.  Thank you.


Автор:  NStorm [ Пт янв 22, 2021 09:41:20 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

А теперь вы поставили Atmega168, вместо Atmega168P. Поправьте в конфиге a168_16MHz.build.mcu=atmega168P на a168_16MHz.build.mcu=atmega168 и зальется.


Автор:  Di123 [ Пт янв 22, 2021 10:59:11 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

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

Код:

Arduino: 1.8.13 (Windows 10), Плата:»atmega168 (16 MHz)»

D:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/bin/avrdude -CD:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf -v -patmega168 -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m

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 «D:��������PortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf»

         Using Port                    : COM3

         Using Programmer              : stk500v1

         Overriding Baud Rate          : 19200

         AVR Part                      : ATmega168

         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        512    4      0  3600  3600 0xff 0xff

           flash         65     6   128    0 yes     16384  128    128  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.16

         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 = 0x1e9406 (probably m168)

avrdude: erasing chip

avrdude: reading input file «0x3F»

avrdude: writing lock (1 bytes):

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

Writing |  ***failed; 

################################################## | 100% 0.05s

avrdude: 1 bytes of lock written

avrdude: verifying lock memory against 0x3F:

avrdude: load data lock data from input file 0x3F:

avrdude: input file 0x3F contains 1 bytes

avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying …

avrdude: verification error, first mismatch at byte 0x0000

         0x00 != 0x3f

avrdude: verification error; content mismatch

avrdude done.  Thank you.

там 168РА

Изображение

Добавлено after 4 minutes 12 seconds:
Изображение


Автор:  NStorm [ Пт янв 22, 2021 11:12:54 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

У вас фейковый PA. Сигнатура у настоящего 168PA должна быть 0x1E 0x94 0x0B, как и предполагал avrdude и как написано в ДШ на МК.

Попробуйте из конфига убрать строчки
a168_16MHz.bootloader.unlock_bits=0x3F
a168_16MHz.bootloader.lock_bits=0x0F

и прошить заново.


Автор:  Di123 [ Пт янв 22, 2021 11:20:27 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

Код:

Arduino: 1.8.13 (Windows 10), Плата:»atmega168 (16 MHz)»

D:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/bin/avrdude -CD:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf -v -patmega168 -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m

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 «D:��������PortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf»

         Using Port                    : COM3

         Using Programmer              : stk500v1

         Overriding Baud Rate          : 19200

         AVR Part                      : ATmega168

         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        512    4      0  3600  3600 0xff 0xff

           flash         65     6   128    0 yes     16384  128    128  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 = 0x1e940b (probably m168p)

avrdude: Expected signature for ATmega168 is 1E 94 06

         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

да нет они нормальные они прекрасно заливают скеч и никогда проблем не было с ними

Добавлено after 2 minutes 40 seconds:
я думаю проблема в хекс файле
потомучто сайт создал его как 168

а мы с вами мучием боардс подставляя то 168 то 168Р

Добавлено after 2 minutes 1 second:
давайте попробуем с гитхаба приклееть optiboot_flash_atmega168p_UART0_19200_16000000L
я его уже скопировал в папку оптибута


Автор:  NStorm [ Пт янв 22, 2021 11:26:30 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

Di123, скетч то они заливают, но перемаркировкой не перестают быть. Гугл легко находит подобные фейки с Китая уже доставались людям.
Я не знаю как IDE заставить НЕ писать лок биты… попробуйте лучше из командной строки. Запустите cmd.exe (командная строка в «пуске») и там вставьте и запустите команды

Код:

cd D:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/bin

avrdude -CD:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf -v -patmega168 -cstk500v1 -PCOM3 -b19200 -e -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m -Uflash:w:a168_16MHz_ff_de_4.hex:a

По очереди 2 строки.

Файли с бутом a168_16MHz_ff_de_4.hex предварительно положите в D:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/bin

Добавлено after 2 minutes 14 seconds:

Цитата:

давайте попробуем с гитхаба приклееть optiboot_flash_atmega168p_UART0_19200_16000000L

Да дело не в файлике. Но можно и его. Выложите его в ту же папку, что я выше написал. Только у него расширение .hex должно быть. И во 2ой команде в конце замените имя файла не него и всё.


Автор:  Di123 [ Пт янв 22, 2021 11:30:42 ]
Заголовок сообщения:  Re: помоните заменить сигнатуры для прошивки

Изображение


Страница 1 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/

ps,
I think I found it.
But now it still doesn’t compile, although targeting the Mega or the Due it compiles fine —
Compile error on Diecimila:

C:ProgrammeArduinolibrariesUTFTQDUTFTQD.cpp:56:4: error: #error "Unsupported AVR MCU!"
   #error "Unsupported AVR MCU!"

(no idea why the compiler now moans about the UTFTQD lib, this lib always worked fine!)

In the file C:ProgrammeArduinohardwarearduinoavrboards.txt
I had just patched the line
diecimila.menu.cpu.atmega328.build.mcu=atmega328p
by
diecimila.menu.cpu.atmega328.build.mcu=atmega328

  • was that correct?

(the following file is just my standard customized specimen which opens when the IDE is started, and which always worked)

#include <SPI.h>
#include <SD.h>
#include <UTFTQD.h>
#include <ardustdio.h>



//=====================================================================================
// misc.  
//=====================================================================================

#define  _DUEMISO_    74  // Arduino Due SPI Header
#define  _DUEMOSI_    75
#define  _DUESCK_     76

#define  clock()      millis()  
#define  LRAND_MAX    32767
#define  srand(seed)  randomSeed(seed)
#define  rand()       random(LRAND_MAX)
#define  rando()      ((float)rand()/(LRAND_MAX+1))



//=====================================================================================
// TFT LCD
//=====================================================================================
#define  UTFT_CSpin    52    // <<<<<<<< adjust!

// set LCD TFT type
int16_t  LCDTYPE   =   -1;

#define  __LCD1602__    1  // LCD1602  Hitachi HD44780 driver <LiquidCrystal.h> 
                           // http://www.arduino.cc/en/Tutorial/LiquidCrystal
#define  __SERLCD__     2  // Sparkfun serLCD 16x2  
                           // http://playground.arduino.cc/Code/SerLCD
#define  __UTFT__       4  // Henning Karlsen UTFT 2.2-2.4" 220x176 - 320x240 lib
                           // http://henningkarlsen.com/electronics/library.php?id=51

//--------------------------------------------------------------------------------------------------
//UTFT   myGLCD(Model, SDA=MOSI, SCL, CS,         RESET,  RS)    // Due: 3 exposed SS pins: 4,10,52
//UTFT   myGLCD(QD220A,   A2,    A1,  A5,         A4,     A3);   // adjust model parameter and pins!
  UTFT   myGLCD(QD220A,   50,    49,  UTFT_CSpin,  0,     51);   // A0->Vc (LED), A4->BoardReset
extern   uint8_t SmallFont[];
//--------------------------------------------------------------------------------------------------

#define  lcdWhiteBlack()  {                                                                 
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,255,255); myGLCD.setBackColor(  0,  0,  0);} 
}

#define  lcdNormal()      {                                                                 
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,255,255); myGLCD.setBackColor(  0,  0,  0);} 
}

#define  lcdInvers()      {                                                                 
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(  0,  0,  0); myGLCD.setBackColor(255,255,255);} 
}

#define  lcdWhiteRed()    {                                                                 
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,255,255); myGLCD.setBackColor(255,  0,  0);} 
}

#define  lcdRedBlack()    {                                                                    
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,  0,  0); myGLCD.setBackColor(  0,  0,  0);} 
}

#define  lcdYellowBlue()  {                                                                      
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,255,  0); myGLCD.setBackColor( 64, 64, 64);} 
}

int16_t  fontwi= 8;
int16_t  fonthi=10;

int16_t  LCDmaxX , LCDmaxY ;                // display size

int16_t  _curx_, _cury_,                    // last x,y cursor pos on TFT screen
         _maxx_, _maxy_;                    // max. x,y cursor pos on TFT screen

char     wspace[50];                        // line of white space

void lcdcls()  {                                                         
   if(LCDTYPE==__UTFT__) { myGLCD.clrScr();  _curx_ =0;  _cury_ =0; }                            
}

void curlf()   {                                                        
   _curx_=0; if( _cury_ <=(LCDmaxY-10) ) _cury_+=fonthi; else _cury_=0;     
}


void lcdprintxy(int16_t x, int16_t y, char * str) {
   if(LCDTYPE==__UTFT__) { myGLCD.print(str,x,y); _curx_=x+strlen(str)*fontwi; _cury_=y; }
}

void curxy(int16_t x, int16_t y) {
   _curx_ = x;_cury_ = y;
}

void lcdprint(char * str) {
    if(LCDTYPE==__UTFT__) { myGLCD.print(str, _curx_, _cury_); _curx_=_curx_+strlen(str)*fontwi; }
}




//=====================================================================================
// SD Card
//=====================================================================================
#define  SD_CSpin  38     // <<<<<<<< adjust!
File     myFile;
char     fname[64];




//=====================================================================================
// user interface:  button pad control pins
//=====================================================================================

#define  PIN_ESC    13
#define  PIN_UP     12
#define  PIN_OK     11
#define  PIN_DN      4 // instead opt.: 6
#define  PIN_LE      3 // instead opt.: 5
#define  PIN_RI      2


//=====================================================================================
// Digital Pins
//=====================================================================================


#define  SensorPTouch(pin) (!digitalRead(pin))    // btn press for _PULLUP Touch Pin (intern. pullup resistor)
#define  SensorTouch(pin)  ( digitalRead(pin))    // btn press for _PULLDOWN Touch Pin (ext. pulldown resistor)
#define  pbtn(pin)         (!digitalRead(pin))    // alias (_PULLUP Touch Pin)



//=====================================================================================

int16_t  btnpressed() {
   return ( pbtn(PIN_ESC)||pbtn(PIN_UP)||pbtn(PIN_OK)||pbtn(PIN_DN)||pbtn(PIN_LE)||pbtn(PIN_RI) );
}


//=====================================================================================

int16_t   getbtn() {
   int16_t  choice= -1;

   while (!  btnpressed() );  // wait until button pad pressed
   if( pbtn(PIN_ESC) ) choice = PIN_ESC;
   if( pbtn(PIN_UP) )  choice = PIN_UP;
   if( pbtn(PIN_OK) )  choice = PIN_OK;
   if( pbtn(PIN_DN) )  choice = PIN_DN;
   if( pbtn(PIN_LE) )  choice = PIN_LE;
   if( pbtn(PIN_RI) )  choice = PIN_RI;     
   while (  btnpressed() );   // wait until button pad released

   return choice;   
}



//=====================================================================================
//=====================================================================================
void setup() {
   char sbuf[128];
   Serial.begin(115200);  



   // TFT LCD
   Serial.println();
   LCDTYPE = __UTFT__ ;        // set LCD-Type

   Serial.println("init LCD...");   
   myGLCD.InitLCD();

   LCDmaxX=myGLCD.getDisplayXSize();
   LCDmaxY=myGLCD.getDisplayYSize();
   myGLCD.setFont(SmallFont);
   _maxx_ = LCDmaxX / fontwi;
   _maxy_ = LCDmaxY / fonthi;   
   memset(wspace, ' ', _maxx_);
   wspace[_maxx_]='';
   lcdcls();
   sprintf(sbuf, "LCDtype=%2d %4dx%4d",LCDTYPE,LCDmaxX,LCDmaxY);
   Serial.println(sbuf);
   lcdprintxy(0, 0, sbuf);

}
//=====================================================================================


//=====================================================================================


//=====================================================================================




//=====================================================================================
void loop(){
   char     sbuf[128];



}
//=====================================================================================
//=====================================================================================

Прошу помочь тех, кто успешно установил прошивку Гавера 1.3 в ардуино нано (не знаю китайская она у меня или нет (брал у немцев с ebay), но все дрова, что были в линках Гайвера тоже установил) на Виндоус 10 х64.

20191006_044719.jpg

20191006_044732.jpg20191006_044746.jpg20191006_044830.jpg
Проблема в следующем: (см. подробный код ошибки в приложение, в конце сообщения).
Все сделал, как описано в https://alexgyver.ru/arduino-first/ до пункта 3.1

Пустая прошивка (Пункт: Прошивка загружается следующим образом: ПЛАТУ НЕ ПОДКЛЮЧАЕМ, ПОРТ НЕ ВЫБИРАЕМ, нажимаем загрузка, ждём компиляции. Появится надпись “подключите плату”.) встает на ура (к сегодняшнему дня наконец-то добился этого, а до этого просто вставала на пункте Вставьте ардуино. Тайм аут 60 сек и дальше была тишина… Ничего не загружала и не подключалась к вставленному ардуино).

Сегодня каким то образом в течение 60 сек залился таки Digispark (default — 16.5mhz) с *(надо полагать) пустышкой в ардуино пустой *(из нескольких строчек) скетч.

Digi.png

Затем кликаю на Gyver_Ambilight_v1.3 которая лежит на диске C:UsersARduinoDownloadsArduino_AmbilightGyver_Ambilight_v1.3 (ВСЕ БЕЗ кириллицы), на подключенной ардуино к порту (у меня тоже СОМ5), или на не подключенною (потому что возможно с digispak default надо всегда прошиваться без подключения (??? не знаю так ли или только 1 раз надо, в первый?), короче, что так, что эдак, результат ноль. Успешного завершения нет ни на подключенной, ни на отключенной, ни просто, если нажать ПРОВЕРИТЬ.

Устанавливал и новую (последнюю) версию и старые, и по описанию в этом топике рабочую arduino-1.8.5-windows, все бес толку.
Уже 5й день #6усь с этой прогой и прошивкой, но не фига не выходит.

-Стоит Винда 10-ка х64
-Ленту приклеил на телевизор Самсунг QLED и 3 раза с альтернативной прошивкой для ПК (с другого ресурса) при старте всеми 110 ледами мигает и гаснет. (направление правильное, подключение 5V 2.4A тоже пашет отлично.)
-Кабель USB рабочий (просто скетчи прописывает без ошибок)
-Просто blink и пустой скетч заливается с ответом Установлено успешно.
-Все дрова ставил помногу раз и с фтп Алекса и с оригинального сайта.

Библиотеку ставил и на
C:Program Files (x86)ArduinolibrariesGyverButton(файлы библиотеки)ПРАВИЛЬНО
У меня так:
C:Program Files (x86)ArduinolibrariesFastLEDFastLED.h *(и куча других в той же папке из FastLED-мастер, *слово «-мастер» я стер и положил в вышеуказанную папку библиотеки, правильно? или как то иначе надо добавлять? )

Все перепробовал и все равно ошибка. РЕБЯТА! Куда копать!? Уже все перелопатил!

И еще, есть ли разница между программой ARDUINO IDE и просто ARDUINO arduino-1.8.5-windows? (эта сука (прошу прощения за выражение) у меня как 2 проги высвечивает. Если ставлю arduino-1.8.5-windows, то как просто Arduino, а если с через магазин Windows, то рядом появляется и Arduino IDE, но что в первой, что во второй, что при обеих установленных, что по отдельности какой то из двух, выскакивает ошибка без надписи об успешной загрузке!)

Качаю и устанавливаю просто arduino-1.8.5-windows, и устанавливается в С. В C:Program Files (x86) появляется папка Arduino с пустой libraries. Туда кладу библиотеку FastLED Алекса. И просто FastLED и даже FastLED-master и с ним и без него и в папку со скетчем и наоборот сам скетч в папку Libraries.
И даже создал другой аккаунт на компе (чтобы точно в пути к папке С не было кириллицы) и перезагружал комп и на другом компе пробовал тоже (ноутбуке с виндой 7 и там все по руководству делал).
Перепробовал почти все версии Ардуино с оф сайта начиная с 1.5.4 включая даже бета версию arduino-1.9.0-beta-windows.

НИЧЕГО НЕ ПОМОГАЕТ!!!

А когда качаю с оф. сайта и устанавливаю arduino IDE (а не просто загрузочный .ехешник arduino-1.8.5-windows) — эта сволочь (ARDUINO IDE) в C:Program Files (x86) НЕ УСТАНАВЛИВАЕТСЯ! *(хз где он вообще лежит, в этой виндоус 10 приложения видимо «и в воздухе *(или во временных папках что ли??) «типа» установить себя могут»).

Но при этом присутствует в списке программ на кнопке СТАРТ, и как ARDUINO IDE и ниже, как просто ARDUINO.

А в C:Program Files (x86) есть только просто Ардуино, а Ардуино IDE нет! НЕ хочет вставать ide версия на комп. В магазине Виндоус написано, что установленна, а в списке установленных программ ее нет. Либо есть только просто Ардуино из arduino-1.8.5-windows

Короче, я уже замудохался!!!

Когда видишь видео Алекса, где он за 15 сек все поставил и пересмотрев и перепроверив все 1000 раз, потеряв огромное количество времени (!) снова и снова сталкиваешься с ошибкой в прошивке, хочется просто ВСЕ РВАТЬ И МЕТАТЬ!!! И матерится!!! (ЧТО #ЛЯТЬ ЕЙ /УКА ЕЩЁ НАДО!!!??? КРОВИ МОЕЙ ЧТО ЛИ!!!)

Посмотрел видео автора программы :https://youtu.be/6r6T9fyJkLo,
подсоединил снова USBasp укоротил провода все проверил, все как раньше, драйверы установлены, на команды светодиод верхний моргает, прописал в файле скорость 1 кГц, и отключил проверку сигнатуры -F.
Программа выдала:
Cформированная командная строка:
avrdude.exe -p m328p -c usbasp -B 1000 -F -P usb -U calibration:r:calibration.hex:r
avrdude.exe: set SCK frequency to 1000 Hz
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude.exe: Device signature = 0x1e9516
avrdude.exe: Expected signature for ATmega328P is 1E 95 0F
avrdude.exe: reading calibration memory:
Reading | ################################################## | 100% 0.01s
avrdude.exe: writing output file «calibration.hex»
avrdude.exe: safemode: Fuses OK (E:01, H: DC, L:FF)
avrdude.exe done. Thank you.

Сформированная командная строка:
avrdude.exe -p m328p -c usbasp -B 1000 -F -P usb -U калибровка:r:калибровка.шестнадцатеричный:r
avrdude.exe : установите частоту SCK на 1000 Гц
avrdude.exe : Устройство AVR инициализировано и готово к приему инструкций
Чтение | ################################################## | 100% 0.02 с
avrdude.exe : Сигнатура устройства = 0x1e9516
avrdude.exe : Ожидаемая сигнатура для ATmega328P составляет 1E 95 0F
avrdude.exe : считывание калибровочной памяти:
Чтение | ################################################## | 100% 0.01 с
avrdude.exe : запись выходного файла «калибровка.шестнадцатеричный»
avrdude.exe : безопасный режим: Предохранители в порядке (E:01, H: DC, L:FF)
avrdude.exe сделано. Спасибо.

Наконец -то, после долгих танцев с бубнами) и выше выложенного видео) началась шиться микросхема , хотя и не определяется сигнатура микросхемы. Что я сделал!!!!!
Открыл папку , где находится программа (Avrdude) с файлами , открываю в Тотал Командере, делее нахожу файл
programm.ini , открываю редактирование клавишей F4 (правка), открывается текст файла в блокноте Notepad,
далее нахожу надпись своего программатора USBasp и в первой строке программатора добавляю :
[USBasp]
progisp=usbasp -B 1000 -F
portprog=usb
portenabled=0

далее жму сохранить. -B ( скорость чтения и записи) 1000 (это в герцах скорость записи ) и -F ( отключение сигнатуры) .
Кристал стал писаться, хотя в конце все равно пишет- «микроконтроллер не обнаружен». Так что, я думаю, дело было в скорости. Снижайте скорость программирования и будет меньше помех и наводок и кристал прошьется.
А то что, не определяется как нужно, не вопрос- лишь бы шился. Как то так.
качал до этого прошивки, зашил в микроконтроллер ATmega 328P , изображение зеркальное в тестере (в обратку рисует текст). Скачал другую русскую MG328(BigDisplay) на 8 мгц ( по кварцу в тестере), зеркальную и все встало на места, тестер заработал. Прошивки ниже :

Страница 3 из 4

  1. выкладывайте ошибки текстом и ЦЕЛИКОМ!
    А у вас только часть
    Кроме той сигнатуры. что ДОЛЖНА БЫТЬ — аврдуде выдает вам значение, реально считанное с чипа, которое очень много может сказать о источнике проблем
    Вот, смотрите, как выглядит вывод этой ошибки целиком
    [​IMG]
    как видно, приведенная вами картинка — это только две последние строчки огромного сообщения

  2. фьюзы прошить? Вроде умеешь же)

  3. Фьюз Доктор вообще то фьюзы не шьет он разлочивает МК прошивкой дефолтных фьюзов. Я могу конечно скетч изменить так чтоб нужные фьюзы прошились но Доктор не для того создан вобщем то. Но это самый долгий и трудоемкий способ и ТС вряд ли сможет да и смысла нет.

  4. да нет запись загрузчика я много раз делал через ИДЕ последовательность знаю

    Arduino: 1.8.13 (Windows 10), Плата:«atmega168 (16 MHz)»

    D:загрузкиPortableFLProg_731_Win64ideV6hardwaretoolsavr/bin/avrdude CD:загрузкиPortableFLProg_731_Win64ideV6hardwaretoolsavr/etc/avrdude.conf v patmega168 cstk500v1 PCOM3 b19200 e Ulock:w:{bootloader.unlock_bits}:m Uefuse:w:0x4:m Uhfuse:w:0xde:m Ulfuse:w:0xff:m

    avrdude: Version 6.320190619

             Copyright (c) 20002005 Brian Dean, http://www.bdmicro.com/

             Copyright (c) 20072014 Joerg Wunsch

             System wide configuration file is «D:��������PortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf»

             Using Port                    : COM3

             Using Programmer              : stk500v1

             Overriding Baud Rate          : 19200

             AVR Part                      : ATmega168

             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        512    4      0  3600  3600 0xff 0xff

               flash         65     6   128    0 yes     16384  128    128  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 = 0x1e940b (probably m168p)

    avrdude: Expected signature for ATmega168 is 1E 94 06

             Double check chip, or use F to override this check.

    avrdude done.  Thank you.

  5. Выбран неверный МК. Ты шьёшь 168p, а программатору говоришь, что просто 168. Отсюда и ошибка.

  6. вы скорее всего правы
    у меня было предположение такое потомучто микросхема идёт 168РА а сайт конструктор может делать прошивку только для 168
    но почитал что разница между ними в экономичности или типо того

    а как создать для 168РА я не нашол конструкторов больше

  7. я вас поздравляю, у вас все работает, все соединения верные, чип отвечает…
    Вы всего лишь неверно выбрали МК. Если в boards есть 168p — выберите его. Если нет — просто добавьте в ,боардс еще одну секцию с правильной сигнатурой

    попробуйте записать этот загрузчик в свой чип, думаю разницы быть не должно

  8. Поняли теперь, как важно читать ошибки целиком? — а вы мучались пару лет, из-за того лишь что у вас другая буква на чипе…

  9. так вот он не пишится в него всё же разница есть выходит
    боардс весь пролистал там ни единого упоминания о 168Р нету

    а как вычисляется сигнатура и куда именно добавляется там
    пробовал считать фьюзы через этот програматор с аврдуде не получается

    2021-01-20_151338.png

    там должны быть буквы и цыфры а там просто нули всегда

  10. не пишется не потому, что бутлоадер не подходит, а потому что прочитанная сигнатура не совпадает с ожидаемой

    ну значит надо самому добавить

    для начала просто исправте тип чипа в той части боардс. что вы добавили для атмеги168:

    a168_16MHz.build.mcu=atmega168p

    чтож вы темный такой… несколько лет прошиваете чипы. а сами как трехлетний — ну ничего не можете

  11. это то меня и смущало что вы пытаетесь обмануть програму подменой буквы при несовпадении сигнатуры
    ведь в самом начале я ещё упомянул что сигнатура опять всё портит

    теперь биты не те говорит

    Arduino: 1.8.13 (Windows 10), Плата:«atmega168 (16 MHz)»

    D:загрузкиPortableFLProg_731_Win64ideV6hardwaretoolsavr/bin/avrdude CD:загрузкиPortableFLProg_731_Win64ideV6hardwaretoolsavr/etc/avrdude.conf v patmega168P cstk500v1 PCOM3 b19200 e Ulock:w:{bootloader.unlock_bits}:m Uefuse:w:0x4:m Uhfuse:w:0xde:m Ulfuse:w:0xff:m

    avrdude: Version 6.320190619

             Copyright (c) 20002005 Brian Dean, http://www.bdmicro.com/

             Copyright (c) 20072014 Joerg Wunsch

             System wide configuration file is «D:��������PortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf»

             Using Port                    : COM3

             Using Programmer              : stk500v1

             Overriding Baud Rate          : 19200

             AVR Part                      : ATmega168P

             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        512    4      0  3600  3600 0xff 0xff

               flash         65     6   128    0 yes     16384  128    128  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 = 0x1e940b (probably m168p)

    avrdude: erasing chip

    avrdude: reading input file «{bootloader.unlock_bits}»

    avrdude: invalid byte value ({bootloader.unlock_bits}) specified for immediate mode

    avrdude: read from file ‘{bootloader.unlock_bits}’ failed

    avrdude done.  Thank you.

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

  12. Скачай Микрочип Студио и шей через него. Там есть абсолютно все МК. Программатор нужен AVR ISP mkII. Делается из леонарды или промикры.

  13. она так то не понятна так ещё и на английском в добавок

  14. судя по вот этому сообщению

    avrdude: reading input file «{bootloader.unlock_bits}»

    вы в боардс какую-то чушь нагородили

    Выложите текстом кусок боардс, относящийся к атмеге168р

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

  15. a168_16MHz.bootloader.tool=avrdude
    a168_16MHz.name=atmega168 (16 MHz)
    a168_16MHz.upload.protocol=arduino
    a168_16MHz.upload.maximum_size=15872
    a168_16MHz.upload.speed=115200
    a168_16MHz.bootloader.low_fuses=0xff
    a168_16MHz.bootloader.high_fuses=0xde
    a168_16MHz.bootloader.extended_fuses=0x4
    a168_16MHz.bootloader.path=optiboot
    a168_16MHz.bootloader.file=a168_16MHz_ff_de_4.hex
    a168_16MHz.build.mcu=atmega168P
    a168_16MHz.build.f_cpu=16000000L
    a168_16MHz.build.core=arduino
    a168_16MHz.build.variant=standard

    код мне выдал сайт конструктор
    в нём я добавил строчку — a168_16MHz.bootloader.tool=avrdude
    и добавил букву Р — atmega168P

  16. добавляйте

    a168_16MHz.bootloader.unlock_bits=0x3F
    a168_16MHz.bootloader.lock_bits=0x0F

  17. Arduino: 1.8.13 (Windows 10), Плата:«atmega168 (16 MHz)»

    D:загрузкиPortableFLProg_731_Win64ideV6hardwaretoolsavr/bin/avrdude CD:загрузкиPortableFLProg_731_Win64ideV6hardwaretoolsavr/etc/avrdude.conf v patmega168P cstk500v1 PCOM3 b19200 e Ulock:w:0x3F:m Uefuse:w:0x4:m Uhfuse:w:0xde:m Ulfuse:w:0xff:m

    avrdude: Version 6.320190619

             Copyright (c) 20002005 Brian Dean, http://www.bdmicro.com/

             Copyright (c) 20072014 Joerg Wunsch

             System wide configuration file is «D:��������PortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf»

             Using Port                    : COM3

             Using Programmer              : stk500v1

             Overriding Baud Rate          : 19200

             AVR Part                      : ATmega168P

             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        512    4      0  3600  3600 0xff 0xff

               flash         65     6   128    0 yes     16384  128    128  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.16

             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 = 0x1e9406 (probably m168)

    avrdude: Expected signature for ATmega168P is 1E 94 0B

             Double check chip, or use F to override this check.

    avrdude done.  Thank you.

    не хочет
    может проблема в скорости для промини
    у меня стоит a168_16MHz.upload.speed=115200 это посути скорость для уно
    другие пишутся на более медленой скорости там

Страница 3 из 4

ps,
I think I found it.
But now it still doesn’t compile, although targeting the Mega or the Due it compiles fine —
Compile error on Diecimila:

C:ProgrammeArduinolibrariesUTFTQDUTFTQD.cpp:56:4: error: #error "Unsupported AVR MCU!"
   #error "Unsupported AVR MCU!"

(no idea why the compiler now moans about the UTFTQD lib, this lib always worked fine!)

In the file C:ProgrammeArduinohardwarearduinoavrboards.txt
I had just patched the line
diecimila.menu.cpu.atmega328.build.mcu=atmega328p
by
diecimila.menu.cpu.atmega328.build.mcu=atmega328

  • was that correct?

(the following file is just my standard customized specimen which opens when the IDE is started, and which always worked)

#include <SPI.h>
#include <SD.h>
#include <UTFTQD.h>
#include <ardustdio.h>



//=====================================================================================
// misc.  
//=====================================================================================

#define  _DUEMISO_    74  // Arduino Due SPI Header
#define  _DUEMOSI_    75
#define  _DUESCK_     76

#define  clock()      millis()  
#define  LRAND_MAX    32767
#define  srand(seed)  randomSeed(seed)
#define  rand()       random(LRAND_MAX)
#define  rando()      ((float)rand()/(LRAND_MAX+1))



//=====================================================================================
// TFT LCD
//=====================================================================================
#define  UTFT_CSpin    52    // <<<<<<<< adjust!

// set LCD TFT type
int16_t  LCDTYPE   =   -1;

#define  __LCD1602__    1  // LCD1602  Hitachi HD44780 driver <LiquidCrystal.h> 
                           // http://www.arduino.cc/en/Tutorial/LiquidCrystal
#define  __SERLCD__     2  // Sparkfun serLCD 16x2  
                           // http://playground.arduino.cc/Code/SerLCD
#define  __UTFT__       4  // Henning Karlsen UTFT 2.2-2.4" 220x176 - 320x240 lib
                           // http://henningkarlsen.com/electronics/library.php?id=51

//--------------------------------------------------------------------------------------------------
//UTFT   myGLCD(Model, SDA=MOSI, SCL, CS,         RESET,  RS)    // Due: 3 exposed SS pins: 4,10,52
//UTFT   myGLCD(QD220A,   A2,    A1,  A5,         A4,     A3);   // adjust model parameter and pins!
  UTFT   myGLCD(QD220A,   50,    49,  UTFT_CSpin,  0,     51);   // A0->Vc (LED), A4->BoardReset
extern   uint8_t SmallFont[];
//--------------------------------------------------------------------------------------------------

#define  lcdWhiteBlack()  {                                                                 
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,255,255); myGLCD.setBackColor(  0,  0,  0);} 
}

#define  lcdNormal()      {                                                                 
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,255,255); myGLCD.setBackColor(  0,  0,  0);} 
}

#define  lcdInvers()      {                                                                 
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(  0,  0,  0); myGLCD.setBackColor(255,255,255);} 
}

#define  lcdWhiteRed()    {                                                                 
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,255,255); myGLCD.setBackColor(255,  0,  0);} 
}

#define  lcdRedBlack()    {                                                                    
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,  0,  0); myGLCD.setBackColor(  0,  0,  0);} 
}

#define  lcdYellowBlue()  {                                                                      
   if(LCDTYPE==__UTFT__) { myGLCD.setColor(255,255,  0); myGLCD.setBackColor( 64, 64, 64);} 
}

int16_t  fontwi= 8;
int16_t  fonthi=10;

int16_t  LCDmaxX , LCDmaxY ;                // display size

int16_t  _curx_, _cury_,                    // last x,y cursor pos on TFT screen
         _maxx_, _maxy_;                    // max. x,y cursor pos on TFT screen

char     wspace[50];                        // line of white space

void lcdcls()  {                                                         
   if(LCDTYPE==__UTFT__) { myGLCD.clrScr();  _curx_ =0;  _cury_ =0; }                            
}

void curlf()   {                                                        
   _curx_=0; if( _cury_ <=(LCDmaxY-10) ) _cury_+=fonthi; else _cury_=0;     
}


void lcdprintxy(int16_t x, int16_t y, char * str) {
   if(LCDTYPE==__UTFT__) { myGLCD.print(str,x,y); _curx_=x+strlen(str)*fontwi; _cury_=y; }
}

void curxy(int16_t x, int16_t y) {
   _curx_ = x;_cury_ = y;
}

void lcdprint(char * str) {
    if(LCDTYPE==__UTFT__) { myGLCD.print(str, _curx_, _cury_); _curx_=_curx_+strlen(str)*fontwi; }
}




//=====================================================================================
// SD Card
//=====================================================================================
#define  SD_CSpin  38     // <<<<<<<< adjust!
File     myFile;
char     fname[64];




//=====================================================================================
// user interface:  button pad control pins
//=====================================================================================

#define  PIN_ESC    13
#define  PIN_UP     12
#define  PIN_OK     11
#define  PIN_DN      4 // instead opt.: 6
#define  PIN_LE      3 // instead opt.: 5
#define  PIN_RI      2


//=====================================================================================
// Digital Pins
//=====================================================================================


#define  SensorPTouch(pin) (!digitalRead(pin))    // btn press for _PULLUP Touch Pin (intern. pullup resistor)
#define  SensorTouch(pin)  ( digitalRead(pin))    // btn press for _PULLDOWN Touch Pin (ext. pulldown resistor)
#define  pbtn(pin)         (!digitalRead(pin))    // alias (_PULLUP Touch Pin)



//=====================================================================================

int16_t  btnpressed() {
   return ( pbtn(PIN_ESC)||pbtn(PIN_UP)||pbtn(PIN_OK)||pbtn(PIN_DN)||pbtn(PIN_LE)||pbtn(PIN_RI) );
}


//=====================================================================================

int16_t   getbtn() {
   int16_t  choice= -1;

   while (!  btnpressed() );  // wait until button pad pressed
   if( pbtn(PIN_ESC) ) choice = PIN_ESC;
   if( pbtn(PIN_UP) )  choice = PIN_UP;
   if( pbtn(PIN_OK) )  choice = PIN_OK;
   if( pbtn(PIN_DN) )  choice = PIN_DN;
   if( pbtn(PIN_LE) )  choice = PIN_LE;
   if( pbtn(PIN_RI) )  choice = PIN_RI;     
   while (  btnpressed() );   // wait until button pad released

   return choice;   
}



//=====================================================================================
//=====================================================================================
void setup() {
   char sbuf[128];
   Serial.begin(115200);  



   // TFT LCD
   Serial.println();
   LCDTYPE = __UTFT__ ;        // set LCD-Type

   Serial.println("init LCD...");   
   myGLCD.InitLCD();

   LCDmaxX=myGLCD.getDisplayXSize();
   LCDmaxY=myGLCD.getDisplayYSize();
   myGLCD.setFont(SmallFont);
   _maxx_ = LCDmaxX / fontwi;
   _maxy_ = LCDmaxY / fonthi;   
   memset(wspace, ' ', _maxx_);
   wspace[_maxx_]='';
   lcdcls();
   sprintf(sbuf, "LCDtype=%2d %4dx%4d",LCDTYPE,LCDmaxX,LCDmaxY);
   Serial.println(sbuf);
   lcdprintxy(0, 0, sbuf);

}
//=====================================================================================


//=====================================================================================


//=====================================================================================




//=====================================================================================
void loop(){
   char     sbuf[128];



}
//=====================================================================================
//=====================================================================================

Страница 1 из 3

  1. Здравствуйте!
    Имеется китайский Arduino Nano v3.0 на CH340G. Драйвера устанавливаются — компьютер видит плату (USB-SERIAL CH340 (COM3)). Скетчи не загружаются с ошибкой «avrdude: verification error, first mismatch…».

    Полазив по форумам, понял, что нужно прошивать bootloader. За неимением программаторов, приспособил порт LPT — получил STK200. Сначала попробовал прошить с помощью IDE, предварительно прописав нужные строки в programmers.txt. Загрузка проходит успешно через раз (из-за длинных проводов). Попробовал несколько прошивок: Uno, Nano, Duemilanove — итог один: даже при успешной прошивке не загружается ни один скетч по usb. Пробовал шить с помощью SinaProg — та же картина, только прошивки заливаются в 2-3 дольше чем в IDE (в IDE практически мгновенно), однако в этом случае, при попытке записать скетч, IDE возвращает «avrdude: stk500_getsync(): not in sync»

    Интересно то, что скетчи записываются с помощью того же программматора STK200 из-под IDE (через раз), при этом исправно работают! Тяжелые скетчи не грузятся опять же из-за длинных проводов.

    При замыкании RX и TX ответ не приходит…

    В чем может быть проблема? CH340 дохлый или всю плату на выкид?

  2. Фьюзы правильные выставили? Для Нано должно быть Low 0xFF High 0xDA И Бут только нановский.У меня сразу заработал и работает.Попробуйте зашить через LPT длинна проводов 10-12 см это нормально.Ну или так

  3. Прошил через LPT из-под IDE (прошивка Nano), затем проверил фьюзы — все правильные, в итоге все та же ошибка. Может бутлодер нужен другой? А не тот, что в IDE

    Вложения:

  4. Подскажите, уже месяц не могу разобраться. Новичёк, с Arduino UNO всё собираю нормально, работает. Для проекта нужна компактность, купил китайскую НАНО. Всё к ней подсоединил, как надо, прошил, не выдаёт на выходы питание. Померил, нету. А как-то тронул — горячая. Решил, что брак, купил вторую. Подключил, и всё точно так же. Решил, что не разобрался. Оказывается, китайским нужен драйвер, возможно не прошивался просто? Залил скетч, где просто 13-ый led моргает. Хм, и он заморгал, как на одной, так и на другой плате. Управлял, менял интенсивность — всё работает. Пошел дальше, подсоединил два светодиода, загрузил скетч «мигалка» — тут снова, вроде прошился, но реакции нету. Ни один из цифровых выходов, ожидаемый сигнал не передаёт :-(.
    А глобально нужно для двух простых проектов: на одном с ИК датчика принимать сигналы и просто зажигать светодиоды и управлять mp3 модулем с динамиком. На другом, при помощи ИК датчика, а так же 4-х кнопок, управлять 4мя реле. Ведь не сложно.
    Объясните, как пользоваться, какие отличия от UNO, чего я так не понимаю?
    Что же, платы только могут бортовым диодом моргать, и всё что ли?

  5. Думаешь тут умеют читать мысли, наивный…..
    ГДЕ скетч , где схема??? Фото и видео не помешает.
    Интернет в помощь.
    ps\ Странные люди пошли.


    vovik181083 нравится это.

  6. Вы это мне?
    Ну, я думаю, что и так подробно описал.
    Просто такой элементарный вопрос: Arduino Nano точно так же работает, как и UNO? В смысле подаёт питание на макетную плату, и т.п…? Или мне не повезло, и обе у меня браковые?

    Вот так, это если эксперимент, а не серьёзный проект. Питание по USB. Просто суть в том, что, как будто пины не выдают ток. Просто ничего не действует :-(

    /*
    Мигалка
    */

    int led_5 = 9; // вывод 9
    int led_6 = 3; // вывод 3
    int brightness = 0; // минимальный цвет
    int fadeAmount = 5; // величина прироста

    void setup() {
    // два вывода на выход
    pinMode(led_5, OUTPUT);
    pinMode(led_5, OUTPUT);
    }

    void loop() {
    // у первого вывода минимальное значение, у второго — максимальное
    analogWrite(led_5, brightness);
    analogWrite(led_6, 255 — brightness);

    // остальной код без изменений
    // change the brightness for next time through the loop:
    brightness = brightness + fadeAmount;

    // reverse the direction of the fading at the ends of the fade:
    if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
    }
    // wait for 30 milliseconds to see the dimming effect
    delay(30);
    }

    Вложения:

    • Untitled Sketch 2_bb.jpg

    Последнее редактирование: 19 июн 2016

  7. А питание откуда? Вижу + но не вижу куда подключен
    И да, уно и нано- суть одна, 328

  8. Питание, ой, забыл что-ли? Просто от USB, но я и на VIN пытался 9 вольт подавать.
    Я всё грешу на контакты. Вначале я просто брал гребёнки из комплекта, вставлял в макетку, распирал, и вставлял NANO. По идее, хотя не особо надёжно, но контакты вроде соприкасаются. Потом пытался нужные подпаивать, просто я это умею плохо. Сегодня использовал купленную паяльную пасту. Нанёс на контакты, и феном грел. Выглядит это волшебно, но аж страшно, т.к. греется. Припаялось на вид, ну не шедевр, но надёжно (гребёнки). Подключил к плате — не фурычит, как и было. Попробовал прошить и… Блин, определяется, но не прошивается. Наверное я её спалил. Или не знаю. :-(
    Но есть еще одна.
    Вот и я думаю, суть-то та же, как и с UNO. Просто скажите мне, ответьте. Кто как применяет, использует? Может я упускаю что? Именно, может контакты, или что??? :-(

  9. Когда мне приходит мешок Нанок из Китая, я беру каждую и подключаю к USB, должен замигать 13-й пин (blink обычно вшит по умолчанию). Далее запускаю IDE, выбираю Arduino Nano и нужный порт, и заливаю Блинк из примера но уменьшаю задержку. Этот простой тест показывает, что и чип и програматор живые, но не факт, что безглючные :D
    А уж затем, паяем-подключаем

  10. А что греется то? Контроллер (квадратик сверху) или стабилизатор (штуковина снизу) ? ))
    Скорее всего где то в висит короткое замыкание или уже контроллер сдох от перенапряжения.
    Вообще то контакты нужно паять а не распирать иначе — черевато. Если самостоятельно
    нельзя хорошо запаять, то можно попросить сделать в мастерской.
    (Не думаю, что будет сильно дорого, хотя всяко бывает.)
    Кстати неплохо бы фото изделия в разных ракурсах посмотреть, может чего и разглядели бы.
    И еще, не понял, на схеме для чего провод от +5V на шину заведен ?

    По сути вопроса, программно Nano работает также как и UNO. Но поскольку обвеска немного
    отличается, то есть свои небольшие особенности.

    Последнее редактирование: 20 июн 2016

  11. Как Вы это определили: по светодиодам или каким-то прибором? Если первое, то стоит убедиться что светодиоды исправны и подключены правильно (анод к цыфр. выходу, катод через резистор на землю).

  12. Vad33, благодарю за подробность. Ох, даже не смог определить, где именно нагрело больше, т.к. обжегся схватившись за край, где контакты для программатора (ну или как это — с торца). И когда USB вынимал, тоже было горячо, так что из компа вынул.
    Да, я теперь думаю, зря такую купил, продаются, нашел, уже с припаянной гребёнкой. Такую вот надо брать. Ну, да, вероятно вся проблема в плохих контактах, или коротком, которое от того, что когда я приктрутил провод, а волокна торчат в разные стороны. Уж больно миниатюрная плата. :-( Uno великовата для одного дельца, а эта больно малая. :-(
    За то спасибо, убедился, что это у меня с контактами. Программно вроде делаю всё так.

  13. Определил, ну светодиоды проверял на другой плате. С постановкой в схеме всё верно (кстати отвод на 5 вольт для платы, это на будущее было) А на счёт прошивки, понимаю что прошивается, по миганию светодиодов во время загрузки, и скетчем на мигающий 13-ый.
    Karabas, ага, теперь тоже вначале буду проверять.

  14. Если у Вас греется микроконтроллер или какие-либо элементы на плате, проблема скорее в КЗ. Посмотрите внимательно свою пайку, возможно где-то спаяли контакты при распайке.

  15. Во всём разобрался, спасибо. Просто на неделе не мог ответить. Эх, да, верно. Паял паяльной пастой, она протекла вниз, и в двух местах спаяла контакты. :-( Вот и сгорела. Стал вторую плату вручную паять. Не знаю, да, опыта и умений нет. Вроде всё было не плохо, потом отвалился вдруг Vin, соприкоснулся голый провод с землёй, и так я… :confused: спалил вторую плату.
    Но всё, на Али нашел платы с припаеной грибенкой. Жаль, раньше не видел. Разница цены 20 Р. :)
    Надеюсь, будет проще.
    Всем спасибо!

  16. Э!Да не парьтесь так а спаяйте Ардуину сами и надёжнее будет и качественнее и ИМХО дешевле.Я вот пока с Ебая ждал за 4 часа сделал и до сих пор работает!

  17. здраствуйте, приобрёл китайскую Arduino Nano v3.0 на CH340G, поставил драйвера, порт определяется. Светодиоды работают. Программирую через Arduino 1.6.12 , при заливке скетча, после компиляции выдаёт сообщение:
    Arduino: 1.6.12 (Windows 7), Плата:»Arduino Nano, ATmega328″

    Скетч использует 928 байт (3%) памяти устройства. Всего доступно 30 720 байт.
    Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2 039 байт для локальных переменных. Максимум: 2 048 байт.

    avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x10
    avrdude: verification error, first mismatch at byte 0x0080
    0xff != 0x04
    avrdude: verification error; content mismatch
    avrdude: verification error; content mismatch

    При этом светодиоды RX и TX загораются вместе потом гаснут.

    При заливки загрузчика выдаёт следующее сообщение:
    Arduino: 1.6.12 (Windows 7), Плата:»Arduino Nano, ATmega328″

    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
    Ошибка при записи загрузчика.

    Подскажите в чём дело и что делать? Mega 2560 работает нормально.

  18. используя мегу, попробовать загрузить в Nano какой-нибудь скетч по ISP. Если удастся — значит сама Nano живая и проблема в драйверах для CH340 или в кривой пайке CH340.

    Мега тоже с чипом CH340? Если да, то проверку драйверов можно пропустить.

  19. Стандартные рекомендации:
    Попробовать на другом USB порту, на другом кабеле, на другом компьютере.
    Если не поможет пробовать перепрошить бутлоадер через другую плату.
    Кстати, светодиод встроенный (на 13 контакте, который) моргает/моргал или нет?

  20. Да светодиод моргает . Мега на СН 340. А где почитать как перепрошить бутлоадер через другую плату?

Страница 1 из 3

Форум РадиоКот • Просмотр темы — Все про 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]

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

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

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 раз.

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

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

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

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

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

  • Ошибка при записи винды на флешку
  • Ошибка при записи flash 00000800 нет ответа от прибора
  • Ошибка при записи blu ray
  • Ошибка при замершей беременности форум
  • Ошибка при замене экрана iphone 11