Arduino Mega Тайм-аут с ошибкой программиста

10

У меня Arduino Mega 2560, и он работал нормально до обеда, когда я начал получать эту ошибку:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

Я знаю, что это не код, который я запускаю, поскольку я пытался загрузить его в Uno, и он, казалось, загружался без проблем. Мне нужно использовать Mega, так как у него больше портов.

Из того, что я прочитал, это потенциально проблема с загрузчиком и, возможно, связана с текущей версией Arduino. Я практически ничего не знаю о загрузчике; все, что я знаю, это то, что он используется для загрузки кода в Arduino (я думаю ...), поэтому я боюсь просто неосознанно возиться с соответствующими файлами.

Я смотрю на эти страницы, но, как я уже сказал, я не знаю достаточно, чтобы чувствовать себя комфортно, просто возиться с файлами.

Я попытался полностью удалить Mega, а затем переустановить. Я также скачал более старую версию Arduino (0022), и ни один из вариантов не работал.

Я не знаю, что делать или как изменить файлы AVR, если это необходимо.

bladepanthera
источник
Оооо, я не заметил этот пост. Я перепробовал все, кроме записи загрузчика ... Есть ли простой способ сделать это без необходимости покупать программное обеспечение?
bladepanthera
обычно вы просто заходите в IDE, смотрите под меню инструментов, выбираете «Burn Bootloader». Убедитесь, что вы выбрали правильную доску.
TheDoctor
@TheDoctor, я видел этот вариант, но я не знаю, что делать потом. Я полагаю, мне нужно загрузить его снова с новой программой "загрузчик"? Один сайт ( learn.sparkfun.com/tutorials/install-an-arduino-bootloader ) говорит, что мне нужно купить оборудование и загрузить определенное программное обеспечение ... все, чтобы заменить программное обеспечение в загрузчике ?! Я не уверен, что понимаю почему.
bladepanthera
1
Вы можете использовать Uno для перепрограммирования Mega. Посмотрите вверхArduinoISP
микротерион

Ответы:

3

Загрузчик на Arduino - это просто часть программного обеспечения, написанная для того, чтобы вы могли обновлять свои эскизы, используя USB-соединение. Без загрузчика вы не можете загружать эскизы, используя только arduino ide.

Дополнительную информацию о загрузчике можно найти здесь: http://arduino.cc/en/Guide/Environment?from=Tutorial.Bootloader Посмотрите под заголовком «Загрузка», который объясняет роль, которую играет загрузчик в загрузке эскизов.

Когда вы используете кнопку «Burn Bootloader» в arduino ide, она попытается записать новую копию загрузчика на подключенную плату Arduino. Для этого плата должна быть прикреплена особым образом, то есть с использованием заголовка icsp / isp, а не кабеля usb.

Теперь для непосредственного программирования микросхемы AVR необходимо использовать внешний (аппаратный) программатор. К счастью, вам не нужно покупать его, если у вас есть второе arduino, потому что второе arduino можно использовать в качестве программиста. Инструкции для этого можно найти здесь: http://arduino.cc/en/Tutorial/ArduinoISP

Еще больше информации о загрузчике: http://arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader

m3z
источник
1

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

Weka
источник
0

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

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

Foad
источник