Ошибка "avrdude:stk500_recv(): programmer is not responding" при загрузке скетча в Arduino Pro Mini

Недавно я купил Arduino Pro Mini (3.3V 328p, 8 МГц) вместе с конвертером CP2102 USB to TTL UART. Когда я пытаюсь загрузить скетч в Pro Mini, используя его, я получаю ошибку avrdude:stk500_recv(): programmer is not responsing. Моя связь была как

Arduino pro mini                CP2102
TXO  ----------------------------> TXD
RXI  ----------------------------> RXD
VCC  ----------------------------> 3V3
GND  ----------------------------> GND
DTR  ----------------------------> DTR

Я попытался соединить контакты TXO и RXI, но безуспешно. Кроме того, нажатие и отпускание кнопки сброса на Pro Mini, похоже, тоже не работает. Я также попытался запрограммировать его с помощью моего Arduino Uno, удалив 328 и подключив соответственно. Все равно бесполезно.

У кого-нибудь есть какие-нибудь идеи?

, 👍2

Обсуждение

Используете ли вы avrdude в командной строке? Если да, то какая команда? Или вы используете arduino ide? Если да, то каковы настройки в разделе Инструменты, Плата и в разделе Инструменты, Программист? (Пожалуйста, отредактируйте ответы на эти вопросы в свой вопрос, вместо того, чтобы отвечать в комментариях), @James Waldby - jwpat7

@jwpat7 Нет, нет использования Arduino IDE 1.0.6 для Mac. На самом деле ошибка avrdude:stk500_recv(): программист не отвечает, @Vivek Sasidharan

Какой порт вы выбрали? Вы установили драйвер CP210x на свой Mac?, @Chris Stratton

Итак, вы используете Arduino IDE. Каковы настройки в разделе Инструменты, Плата и в разделе Инструменты, Программист?, @James Waldby - jwpat7

@ChrisStratton Да, я их установил, @Vivek Sasidharan

@jwpat7 Я выбираю правильный порт и устанавливаю тип платы как Arduino Pro или Pro Mini (3,3 В, 8 МГц) с ATmega328., @Vivek Sasidharan

Прежде всего, линии Tx и Rx должны быть перекрестно соединены (Rx <>Tx). Изображения двух плат помогли бы, я думаю, вы уверены, что ваша плата CP2102 имеет выход DTS, а не RST (который нельзя использовать как DTR)?, @alexan_e

@alexan_s Я попробовал перекрестное подключение Rx и Tx. Ничего не вышло., @Vivek Sasidharan

Вы уверены, что на плате есть загрузчик?, @Avamander

Дважды проверьте свой код ** Ошибки ** и удерживайте кнопку сброса до начала загрузки, я получил ту же ошибку при программировании Arduino Mini Pro., @Yasitha Rangana


8 ответов


0

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

,

нет, загрузчик не был установлен. На самом деле он пришел с предустановленным скетчем blink. Я попытался переустановить загрузчик, но безуспешно. В любом случае, теперь продавец согласился заменить товар., @Vivek Sasidharan


0

Вы должны попробовать другой USB-порт, установить правильные драйверы для чипа TTL / uart и перезагрузить компьютер. Это сработало для меня.


Кроме того, вы должны рассмотреть возможность получения arduino nano usb, они имеют встроенный конвертер ttl / uart, заголовок ICSP и могут быть легко размещены на макетной плате.

,

Ну, я использую Ubuntu, и я вижу, что конвертер UART распознается правильно. Nano слишком велик для моего проекта. Я прямо сейчас проверяю ATtiny 85 от digispark, @Vivek Sasidharan

Можете ли вы также увидеть конвертер в вашем Arduino-редакторе? и вы уверены, что выбрали правильный mcu?, @Paul

Да, на самом деле вывод передатчика на UART мигает, когда я начинаю мигать программами, @Vivek Sasidharan

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

Я попробовал это сделать. Не сработало, @Vivek Sasidharan


1

В Arduino IDE для моего Pro Mini я должен выбрать плату: "Arduino Deumilanove или Diecimila"

Я не уверен, почему это так и может ли это нанести какой-либо потенциальный ущерб вашему Pro Mini, но я точно знаю, что это решение, которое я использовал для программирования своего pro mini, и оно работает каждый раз.

,

1

Измените baudrate на

UPLOAD_RATE=57600 

в Makefile (или через графический интерфейс). Я видел вашу ошибку много раз, и это исправляет ее, хотя и на варианте 5V / 16MHz mini USB. Если 57600 не работает, попробуйте другие значения. Я использую эту скорость на своем USB-последовательном устройстве - может отличаться на голых контактах Rx / Tx.

Вероятно, вы не испортили свой загрузчик, это встречается реже, чем люди думают. Я думаю, что у вашего Arduino работает какой-то недопустимый код, и он продолжает сбрасываться, пока не найдет действительный код - когда у меня была эта проблема, я нажал reset как раз перед тем, как нажать enter для "make upload". Даже если он это сделает, у вас есть, возможно, 0,5 секунды, чтобы начать загрузку после сброса.

Поправьте меня, если я ошибаюсь.

,

Как и выше, скорость загрузки 57600 спасла мне день - спасибо, @beginner451


2

У меня была такая же проблема, и я использовал увеличительное стекло, чтобы проверить процессор. Я купил свои клоны на eBay, и они используют процессор ATmega168 (3,3 В, 8 МГц). Как только я понял свою ошибку и переключился на правильную версию процессора, загрузка прошла гладко.

Я использую "FTDI FT232RL USB to TTL Serial Converter Adapter Module 5V and 3.3V For Arduino" для подключения к программированию, с

  • ДТС-ДТС;
  • Rx-Tx;
  • Tx-Rx;
  • VCC-VCC;
  • GND-GND, и;
  • GND-CTS.

Мне даже не нужно было использовать обходной путь "reset", удерживая нажатой кнопку reset перед нажатием кнопки upload и отпуская ее, когда в окне вывода появляются слова "Maximum is ...".

,

6

rx -> tx
tx -> rx

Пожалуйста, проверьте свои соединения.

,

0

Проблема кристально ясна на картинке

,

Это не имеет абсолютно никакого отношения к заданному вопросу. Это даже не одна и та же плата (!), @Chris Stratton


1
  1. Проверьте соединения, убедитесь, что линии RX-TX пересекаются.
  2. Arduino -> Preferences -> Show verbose output during - check upload даст вам лучшую видимость того, что происходит.
  3. Когда Arduino скажет "Загрузка ...", коротко нажмите кнопку reset. Загрузка должна начаться.

Но одна вещь, которая мне помогла, была ... попробуйте другой адаптер USB-UART. По какой-то причине тот, который выглядел (и был) дешевой подделкой, работал как заклинание.

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

,