avrdude: stk500_getsync(): not in sync: resp=0x00
У меня есть Arduino Pro Mini 5 В, 16 МБ ATMega328 и CP2102 USB для TTL. Я подключил их следующим образом:
Когда я пытаюсь загрузить скетч на плату Arduino, я получаю следующую ошибку:
avrdude: stk500_getsync(): not in sync: resp=0x00
Тип платы и последовательный порт верны. Скетч также успешно скомпилировался, и я установил драйверы CP2102. Я заметил, что даже если я отключу все провода от платы Arduino (и просто оставлю cp2102 подключенным к ПК), я снова получаю ту же ошибку. Я использую Windows 7.
Кто-нибудь еще сталкивался с такой же проблемой?
@Deepsy, 👍6
Обсуждение10 ответов
Эта ошибка означает, что программа, отвечающая за загрузку (avrdude), не может связаться с вашим Arduino.
Вы сбросили плату непосредственно перед программированием? На вашей картинке вывод сброса Arduino выглядит неподключенным; поэтому плата не будет выполнять загрузчик, когда последовательные кабели ожидают этого.
Попробуйте либо вручную сбросить настройки платы непосредственно перед программированием, либо подключить первый контакт.
Я попытался нажать кнопку сброса одновременно с нажатием кнопки загрузки. Также я попытался подключить rst
пин на cp2102 к обоим rst
пинам на arduino, ни один из них не сработал., @Deepsy
Не одновременно — сначала необходимо выполнить аппаратный сброс, а затем попытаться выполнить загрузку., @Dave Tweed
Иногда это работает лучше с конденсатором последовательно с выводом сброса. Я бы начал с 0,1 мкФ и попробовал бы несколько разных значений (это зависит от значения подтяжки сброса), @Nicolas D
@NicolasD Есть ли способ сделать это без конденсатора? Я думаю, что arduino даже не подключается к cp2102, но я не знаю, как проверить. Я также пробовал сбросить плату (кнопкой на ней) за несколько секунд до загрузки, все равно получаю ту же ошибку., @Deepsy
Как сказал @DaveTweed, вы можете сбросить плату, скажем, за полсекунды до нажатия кнопки "загрузить" в arduino IDE. Конденсатор нужен только для автоматизации этого., @Nicolas D
Кстати, вы уже использовали эту плату Arduino?, @Nicolas D
Я знаю кого-то с похожей проблемой. Но его проблема решается с помощью резистора 1k на Tx и Rx последовательно и конденсатора 10uF, который требуется для устройств arduino, использующих ATmega328 между выводом сброса и землей. Вы также можете попробовать резистор PULLUP на сбросе. Это будет означать резистор 10k между сбросом и +5V, @Handoko
По вашим фотографиям трудно сказать, но все ли штыревые контакты припаяны к платам? Если нет, то это необходимо: нет никаких шансов, что надлежащие электрические соединения будут выполнены надежно, если они просто вставлены в отверстия неплотно.
Хорошее место, я сначала не увидел этого на картинке, но, похоже, вы правы, похоже, что штыревые разъемы просто вставлены в отверстия без какой-либо пайки., @jfpoilpret
Эта проблема вызвана использованием неправильного кабеля USB. У меня есть три кабеля, два из которых работают, и один из них имеет эту проблему. Кабели с ферритовым кольцом вокруг них будут работать. Единственный кабель, который у меня есть, который работает, имеет плетеный экран, окружающий проводники, и его длина составляет около 2 футов. У меня есть 3-футовый кабель без кольца и без экрана, который демонстрирует эту проблему.
Это *возможно*, но утверждать, что это причина, немного наивно. Обычно, поскольку интерфейс USB гораздо более "деликатный", чем последовательный порт ниже по течению, в случае плохой кабельной разводки последовательное устройство USB не сможет выполнить энумерацию, а останется в наличии, но не сможет проксировать последовательные данные., @Chris Stratton
Я решил эту проблему, подключив сигнал DTR от USB-конвертера к контакту, на котором написано GRN на плате (тот, что рядом с TXD). Найти его было не так уж и просто, но на ebay я видел какой-то arduino-dedicated-usb-programmer, который, похоже, подключался таким образом, поэтому я рискнул. Больше эта ошибка не появляется, и загрузка работает всегда!!!
Ура!
У меня была точно такая же проблема. Я попробовал установить IDE на другой ноутбук и загрузил программу с этого ноутбука. Проблема решена. Затем я вернулся к своему ноутбуку, удалил IDE и переустановил его. Он работает.
Однако я не был удовлетворен, потому что не смог найти источник проблемы... поэтому я попробовал запустить все снова тем же самым способом. Я нашел проблему, но не уверен, может ли она быть ее истинной причиной.
В моем проекте мне нужно было реализовать последовательную связь между Arduino и MATLAB (GUI). Чтобы увидеть/проверить вывод (тип) последовательных данных MATLAB (GUI), я использовал HYPERTERMINAL, а также VIRTUAL SERIAL PORT EMULATOR. Я заметил, что каждый раз, когда запущен Hyperterminal или VSPE, когда включен мой последовательный монитор, это портит функцию загрузки программы. Я не уверен, из-за VSPE или HYPERTERMINAL, но переустановка IDE мне помогла. :-)
Это случилось и со мной. У меня был блок Bluetooth/TTL, подключенный к RX/TX, которые являются теми же портами, которые используются для подключения USB к компьютеру (где происходит передача программы), и все, что мне нужно было сделать, это отключить RX от блока BT при передаче программы.
{линукс}
Для меня решением было установить правильный порт USB.
Раньше я работал с моим Uno на USB0.
Я не смог загрузить данные на свой nano, так как он был подключен к USB1
В меню: Последовательный порт -> /dev/ttyUSB1
Логично менять порт при замене платы., @RSM
Как уже говорилось в некоторых других ответах, вы могли не припаять штыревые контакты. Вы не можете просто вставить их на место и надеяться на лучшее. Смотрите мой Pro Mini:
Моя пайка достаточно аккуратна, однако видно, что припой проступает на другую сторону.
Также см.:
- Какой-то чувак по имени avr не даёт мне загрузить мою программу, также известную как «avrdude: stk500_getsync(): not in sync: resp=0x00»
- Я сломал свой Arduino Uno? .
Многие проблемы в этих темах применимы к любой плате Arduino.
Чтобы решить проблему синхронизации, я добавил соединение от USB-адаптера последовательного порта RST к выводу ProMini DTR. Я использую ОС Linux Mint 18 с Arduino IDE 1.8.5 - Другие мои клоны Arduino (UNO_r3 и Nano) используют чип CH340G, поэтому я знал, что у меня есть рабочие драйверы. Извините за качество изображения, у меня старая камера и я не знаю, как балансировать светодиодные лампочки. Контакты от USB до ProMini: (U)GND-(P)GND; (U)3V3-(P)нет соединения; (U)5V-(P)VCC; (U)TX-(P)TX; (U)RX-(P)RX; (U)RST-(P)DTR. Надеюсь, это поможет. 73 AB1OP_Ralph
Я потратил часы на поиск решения одного и того же сообщения об ошибке. Все было правильно - плата выбрана, COM-порт, все.
Я поменял контакты TX и RX и соединил tx и rx друг с другом вместо того, чтобы переключать их (что я видел в руководстве). Затем я нажал кнопку ручного сброса, удержал ее и загрузил, затем отпустил, пока не появилось сообщение «Загрузка». Это сработало.
Надеюсь, это поможет.
- Проблемы с загрузкой скетча в Arduino Pro Mini
- "avrdude: stk500_getsync(): not in sync: resp=0x00", или некто по имени Avr не позволяет мне загрузить мою программу
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
- Проблема с загрузкой в Arduino Uno
- CH340 Nano avrdude: stk500_getsync() не синхронизирован, resp=0xa4
- Как заставить Arduino взаимодействовать с тремя другими Ардуино?
- Проблема с загрузкой кода
@nidhin Да, кажется http://i.imgur.com/JHaDWbt.png, @Deepsy
@нидин Я попытался нажать кнопку сброса одновременно с нажатием кнопки загрузки. Также я попытался подключить первый контакт cp2102 к обоим первым контактам Arduino, ни один из них не сработал., @Deepsy
возможный дубликат [Какой-то чувак по имени avr не позволяет мне загрузить мою программу, он же "avrdude: stk500\_getsync(): не синхронизировано: resp=0x00"](http://arduinoprosto.ru/q/17/какой-то-чувак-по имени-авр-не-позволит-мне-загрузить-мою-программу-ака-avrdude-stk500-getsync), @The Guy with The Hat
Вы должны убедиться, что ваша скорость передачи данных соответствует загрузчику на плате (он ведь есть? Это подлинная плата или клон?). Также отсоедините Arduino и соедините контакты TXD и RXD CP2102 вместе. Откройте последовательный монитор Arduino и введите символы; вы должны либо увидеть одну копию того, что вы вводите, с перемычками контактов и ни одной с открытыми контактами, либо две копии с перемычками контактов и только одну с открытыми., @Chris Stratton
У меня появилось такое же сообщение об ошибке, когда я замкнул цифровые входы. ой!, @Rich St. Onge