Программирование 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"
, что я не вижу точно так же вариант здесь.
Я заблудился, что мне здесь не хватает?
@waas1919, 👍1
Обсуждение1 ответ
Лучший ответ:
Новый чип нельзя запрограммировать таким образом, пока на нем не будет установлен загрузчик. Загрузчик запускается после сброса и отслеживает последовательный интерфейс, чтобы увидеть, не пытается ли кто-то загрузить код через последовательный порт.
Выбор программатора не влияет на последовательную загрузку, которая вступает в игру только при программировании через контакты 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
- Не удается снова загрузиться после смены платы
- Arduino UNO для получения подписи чипа ATmega328P-PU
- Что означает avrdude: Device signature = 0x000000? Неисправная проводка? Проблема с программным обеспечением? Неправильная инструкция?
- Можем ли мы записать загрузчик Arduino в любой чип микроконтроллера?
- AVRdude неправильно считывает значения байтов предохранителя
- Загрузчик на ATmega328p (3.3V/8MHz), чувак не закончит свое дело
- Использование Arduino UNO в качестве FTDI
- Мой Arduino UNO включает светодиод навсегда когда я подключаю его к своему ноутбуку
Что произойдет, если вы попытаетесь запрограммировать его как Arduino Uno?, @VE7JRO
Тот же @VE7JRO. Используя как Arduino Uno с программатором USBasp, я получаю ту же ошибку (программатор stk500_revc() не отвечает), @waas1919
Для программиста попробуйте "AVRISP mkll"., @VE7JRO
тот же результат :((, @waas1919
Если вы уверены, что на микросхеме установлен загрузчик, вы можете попробовать использовать кнопку или перемычку от контакта сброса к GND вместо программатора FDTI. Хитрость заключается в том, чтобы подключить контакт сброса к GND, нажать кнопку загрузки в Arduino IDE, а затем отключить контакт сброса от GND, когда IDE скажет, что начинается загрузка., @VE7JRO