Тайм-аут связи 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'.

, 👍13

Обсуждение

возможный дубликат [Какой-то чувак по имени 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


3 ответа


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

,

1

К сожалению, эта ошибка связана со многими разными проблемами, и здесь и на других платформах так много сообщений, что нет однозначного ответа. Возможно, команда Arduino должна попытаться дать лучшие ошибки, чтобы различать их. Но я попытался ответить на тот же вопрос здесь, в этом SO post.

что решило мою проблему, так это перейти в «Инструменты»> «Платы»> «Диспетчер плат»… выберите «обновляемый» для «Тип» в левом верхнем углу, затем выберите обновляемые пакеты ниже и нажмите «Обновить».

,

Это решило мою проблему. Я выбрал обновление для платы и что это, @Rasmi Ranjan Nayak


1

Я получил ту же ошибку, когда мой COM-порт Arduino был занят другими приложениями. Я закрыл это приложение и загрузил скетч Arduino, и ошибка исчезла.

,