Тайм-аут связи Arduino Mega с ошибкой программатора
У меня есть Arduino Mega 2560, и она работала нормально примерно до обеда, когда я начал получать эту ошибку:
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Я знаю, что это не тот код, который я запускаю, поскольку я пытался загрузить его на Uno, и он, похоже, загрузился без проблем. Однако мне нужно использовать Mega, так как у нее больше портов.
Из того, что я прочитал, это потенциально проблема с загрузчиком и, возможно, связана с текущей версией Arduino. Я практически ничего не знаю о загрузчике; все, что я знаю, это то, что он используется для загрузки кода в Arduino (я думаю ...), поэтому я боюсь просто неосознанно возиться со связанными файлами.
Эти страницы — те, которые я просматривал, но, как я уже сказал, я недостаточно знаю, чтобы чувствовать себя комфортно, просто возясь с файлами.
- Mega2560: тайм-аут связи с программатором....
- Ошибка ожидания загрузки на Mega 2560 – не знаю, что изменилось
Я попытался полностью удалить Mega, а затем переустановить его. Я также загрузил более старую версию Arduino (0022), и ни один из вариантов не работал.
Я не знаю, что делать и как при необходимости изменить файлы 'AVR'.
@bladepanthera, 👍13
Обсуждение3 ответа
Загрузчик на arduino — это просто программа, написанная для того, чтобы вы могли обновлять свои скетчи с помощью USB-подключения. Без загрузчика вы не сможете загружать скетчи, используя только Arduino IDE.
Дополнительную информацию о загрузчике можно найти здесь: http://arduino.cc/en/Guide. /Environment?from=Tutorial.Bootloader Посмотрите под заголовком «Загрузка», в котором объясняется роль загрузчика в загрузке скетчей.
Когда вы используете кнопку «Записать загрузчик» в arduino ide, он попытается записать новую копию загрузчика на подключенную плату Arduino. Для этого плата должна быть подсоединена особым образом, то есть с помощью разъема icsp/isp, а не USB-кабеля.
Теперь, чтобы напрямую запрограммировать микросхему avr, вам нужно использовать внешний (аппаратный) программатор. К счастью, вам не нужно покупать его, если у вас есть второй ардуино, потому что второй ардуино можно использовать как программатор. Инструкции для этого можно найти здесь: http://arduino.cc/en/Tutorial/ArduinoISP
Еще больше информации о загрузчике: http://arduino.cc/en/Hacking/Bootloader? from=Main.Bootloader
К сожалению, эта ошибка связана со многими разными проблемами, и здесь и на других платформах так много сообщений, что нет однозначного ответа. Возможно, команда Arduino должна попытаться дать лучшие ошибки, чтобы различать их. Но я попытался ответить на тот же вопрос здесь, в этом SO post.
что решило мою проблему, так это перейти в «Инструменты»> «Платы»> «Диспетчер плат»… выберите «обновляемый» для «Тип» в левом верхнем углу, затем выберите обновляемые пакеты ниже и нажмите «Обновить».
Это решило мою проблему. Я выбрал обновление для платы и что это, @Rasmi Ranjan Nayak
Я получил ту же ошибку, когда мой COM-порт Arduino был занят другими приложениями. Я закрыл это приложение и загрузил скетч Arduino, и ошибка исчезла.
- Ошибка при записи загрузчика
- Не удается снова загрузиться после смены платы
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Программирование ATMEGA2560 с использованием FTDI
- ATtiny85 Digispark clones failing USB handshake - как их запрограммировать?
- Ошибка протокола avrdude/stk500
- Проблема с загрузкой скетча в Леонардо
- Что означает avrdude: Device signature = 0x000000? Неисправная проводка? Проблема с программным обеспечением? Неправильная инструкция?
возможный дубликат [Какой-то чувак по имени avr не позволит мне загрузить мою программу, также известную как "avrdude: stk500\_getsync(): не синхронизировано: resp=0x00"](http://arduinoprosto.ru/q/17 /some-dude-named-avr-wont-let-me-upload-my-program-aka-avrdude-stk500-getsync), @TheDoctor
Ооо, не заметил этого поста. Я пробовал все, кроме записи загрузчика... есть ли простой способ сделать это без покупки программного обеспечения?, @bladepanthera
обычно вы просто заходите в IDE, смотрите в меню инструментов, выбираете «Записать загрузчик». Сначала убедитесь, что вы выбрали правильную плату., @TheDoctor
@TheDoctor, я видел этот вариант, но понятия не имею, что делать потом. Я предполагаю, что мне нужно снова загрузить его с помощью новой программы «загрузчика»? На одном сайте (https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader) говорится, что мне нужно купить оборудование и загрузить определенное программное обеспечение... все для замены программного обеспечения в загрузчике?! Я не уверен, что понимаю, почему., @bladepanthera
Я думаю, что этот пункт меню предназначен только для ардуино со встроенным программатором, таких как Uno и Mega., @TheDoctor
Итак, если я нажму на этот пункт меню... знаете, что произойдет? Я не хочу делать ничего, чего не понимаю, на случай, если есть более простое решение. Спасибо за помощь., @bladepanthera
Это сверхпростое решение. покупка оборудования является более сложной задачей. У вас есть другие ардуино?, @TheDoctor
У меня есть Uno, но я купил Mega, потому что Uno не справляется и не имеет столько портов (он используется для управления роботизированным транспортным средством)., @bladepanthera
Вы можете использовать Uno для перепрограммирования Mega. Найдите
ArduinoISP
, @microtherionЧто-то изменилось, что означает, что вы можете записать загрузчик без провайдера?, @Cybergibbons
В последнее время у меня была точно такая же проблема с моим Mega2560. Нажмите «Загрузить» -> «Компилируется» -> «Начинается загрузка» (последовательный tx/rx мигает) -> «Тайм-аут avrdude». Но это периодическая проблема. Он загружается правильно, может быть, в 20% случаев., @Alex Shroyer