Программирование ATMega328P без платы Arduino всегда возвращает ошибку: avrdude: stk500_recv(): programmer is not responding

У меня есть микроконтроллер: ATMega328P. У меня нет платы Arduino Uno.

Я хочу запрограммировать ATMega328P с помощью моего программатора FTDI.

Но когда я пытаюсь запрограммировать ATMega328P без платы Arduino, я всегда получаю эту ошибку:

avrdude: stk500_recv(): программатор не отвечает

Чтобы создать это, я следовал этому руководству YouTube.

В итоге получилась вот такая диаграмма:

Кажется, все соединения в порядке.

Я выбираю плату: "Arduino Pro или Pro Mini", потому что только с ней я могу выбрать правильный процессор: "ATMega328P (5V, 16MHz)"

Порт правильный: "/dev/ttyUSB0"

Что касается выбранного мной программатора: "USBasp", я не знаю, правильно ли это. Я использовал этот программатор FTDI для программирования микроконтроллера STM32, и программатор был "Serial", что я не вижу точно так же вариант здесь.

Я заблудился, что мне здесь не хватает?

Кстати, я видел это, это и это, но не удалось исправить.

, 👍1

Обсуждение

Что произойдет, если вы попытаетесь запрограммировать его как Arduino Uno?, @VE7JRO

Тот же @VE7JRO. Используя как Arduino Uno с программатором USBasp, я получаю ту же ошибку (программатор stk500_revc() не отвечает), @waas1919

Для программиста попробуйте "AVRISP mkll"., @VE7JRO

тот же результат :((, @waas1919

Если вы уверены, что на микросхеме установлен загрузчик, вы можете попробовать использовать кнопку или перемычку от контакта сброса к GND вместо программатора FDTI. Хитрость заключается в том, чтобы подключить контакт сброса к GND, нажать кнопку загрузки в Arduino IDE, а затем отключить контакт сброса от GND, когда IDE скажет, что начинается загрузка., @VE7JRO


1 ответ


Лучший ответ:

2

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

Выбор программатора не влияет на последовательную загрузку, которая вступает в игру только при программировании через контакты SPI SCK/MOSI/MISO/Reset/Power/Gnd.

Вашему «дизайну» нужна еще пара деталей: конденсаторы 0,1 мкФ между VCC и Gnd, а также AVCC и Gnd.

Конденсаторы Crysal и 22 пФ также могут располагаться намного ближе к устройству, например, прямо рядом с ним.

Я не могу прочитать маркировку FTDI, поэтому не могу сказать, поменяли ли вы местами Rx и Tx.

,

У меня уже есть конденсаторы 0,1 мкФ между VCC и Gnd. Так что мне нужно разместить еще один между AVCC и GND?, @waas1919

Ставил Кристалл и колпачки ближе к устройству, но результат тот же. Могу ли я принудительно включить контакт сброса? Что-то типа: поставить 5В (не знаю, терпимо ли оно к 5В) и потом попробовать сразу залить код?, @waas1919

Если в чипе еще не запрограммирован загрузчик, он не сможет загрузиться через модуль FTDI., @CrossRoads

загрузчик не был запрограммирован! Спасибо!, @waas1919