Автономная версия Arduino

У меня есть Arduino Uno, и я использую arduino 1.0.5 IDE. Я выполнил ему процедуры загрузки atmega328P-PU на макетную плату.

Сначала я загрузил скетч ArduinoISP, подключил (используя внешний осциллятор), а затем подключил его. Затем я выбрал программиста как Arduino как ISP, выбрал плату как Arduino duemilanove w / Atmega328P. Затем я выбрал правильный последовательный порт и нажал «Записать загрузчик». У меня следующие ошибки:

avrdude.exe: stk500_program_enable (): ошибка протокола, expect = 0x14, resp = 0x50 avrdude.exe: ошибка инициализации, rc = -1 Дважды проверьте соединения и повторите попытку, или используйте -F для отмены этой проверки. avrdude.exe : stk500_disable (): ошибка протокола, expect = 0x14, resp = 0x51

Как решить эту проблему? Кроме того, могу ли я загрузить загрузчик напрямую, используя его на Uno вместо оригинального чипа. Если да, то как?


person Swastik Mohapatra    schedule 27.09.2015    source источник
comment
Этот вопрос, вероятно, больше подходит для Arduino StackExchange - потенциально это может быть проблема с оборудованием.   -  person Levi    schedule 27.09.2015


Ответы (4)


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

Вы можете найти более подробную информацию в этом руководстве: https://www.arduino.cc/en/Tutorial/ArduinoISP

Особенно такие вещи:

  • Примечание для Arduino 1.0: вам нужно внести одно небольшое изменение в код ArduinoISP. Найдите строку в функции heartbeat (), в которой написано «delay (40);» и измените его на «delay (20);».
  • Выберите в меню «Инструменты»> «Плата» и «Последовательный порт» элементы, соответствующие плате, которую вы используете в качестве программатора (а не программируемой плате).
person jbheren    schedule 25.11.2015

Вместо встроенного загрузчика arduino просто перейдите по ссылке ниже, и он отлично подойдет для загрузки загрузчика и проверки информации о состоянии платы.

Я отвечаю вам на это, потому что та же проблема, которую я давно вернул, спасла меня.

Еще одна вещь для загрузчика arduino: для atmega328 вам нужно поставить конденсатор между сбросом и gnd (на случай, если вы пропустили)

Для загрузчика gammon он вам не нужен.


Будьте изобретательны.

person Som    schedule 29.11.2015

Для строки сброса вы можете использовать 100nf (это то, что указано в документации) ... но иногда это не работает ... попробуйте что-то вроде 4.7uf, 22uf или 47uf или близкие значения

person Hasala Senevirathne    schedule 13.12.2016

У меня была аналогичная проблема, и проблема заключалась в том, что мой программист был немного медленным, я использовал флаг -B для avrdude, чтобы замедлить битрейт, и он начал работать, я установил -B20 и каждый раз работает как шарм, но я используйте программатор USBTinyISP, а не stk500, так что это может не сработать для вас.

person MarioV    schedule 20.03.2017