mega 2560 Стирается загрузчик
- Войдите на сайт для отправки комментариев
Пт, 05/12/2014 - 17:16
В общем, купил несколько дуин и не проверил. пролежали месяца три.
на одной из них проблема: загрузчик кривой. китайцам уже не вернуть - поздно.
ну да ладно, не беда. залил новый загрузчик. заливаю код - все работает.
пробую залить второй раз - загрузчик не отвечает
и код стартует подозрительно быстро (меньше, чем 0,5 сек). подозреваю, что загрузчик стерся.
загрузчик можно залить новый, не проблема. но после этого код можно обновить только один раз. на любом компе. проблема точно не в компе. загрузчик не отвечает.
в чем может быть проблема?
а заливаешь код не через программатор? а то мало ли на автомате
Вы как загрузчик заливаете?
код через юсб заливаю) не через загрузчик.
загрузчик заливал и через среду ардуину, и просто через командную строку аврдьюд. причем даже разные фьюзы пробовал ставить
ни с того ни с сего код загрузился. но потом снова перестал. значит, загрузчик на месте. но не отвечает. ком-порт работает в обе стороны. непропая нет.
странно. по usb имеется в виду что? обычная ардуина это usb-uart переходник-мега с бутлоадером
где uart переходник не суть, обычно уже на плате
а через программатор это isp разъем или пины на плате 11-13 и так далее
через юсб - это штатно. через среду.
через программатор - это через usbasp.
разницу между загрузкой через программатор и штатной загрузкой понимаю отлично)
проблема только с этой платой. вообще странное поведение.. ни разу такого не видел...
похоже, атмегу менять придется
Если на Arduino MEGA загрузка скетча возможна только 1 раз, после прописки загрузчика программатором, то скорее всего сигнал RESET, который поступает с м/с ch340G (pin13) не может обнулить ATMega 2560. Слишком маленькая емкость C4 (должно быть C4 = 200н, у меня, например было C4 = 95). Я поставил С4 = 0.68мкФ, теперь все работает.
интересный вариант. а почему тогда один раз шьется?
А почему только 1 раз шьется для меня до конца не понятно. Возможно, когда в памяти только один загрузчик, Arduino работает только с ним и обнаруживает запрос от ПК на загрузку скетча. В качестве "обнаружителя" импульса обнуления я использовал Arduino UNO. В ней прошит скетч, использующий прерывание INT0 (pin2). Прерывание происходит если импульс достигает уровня лог.0. Так вот в исходном состоянии этот импульс не обнаруживался, а после перепайки C4, импульс появился и плата заработала. Кстати было 3 платы с точно такой же неисправностью, теперь все 3 работают.