Убитый программатор? Ошибка "programmer is not responding" или как восстановить работу последовательного порта?
- Войдите на сайт для отправки комментариев
Дело было так: на китайском клоне дуины уно был залит скетч, возвращающий данные по последовательному порту. Никаких нареканий на работу не было. Однажды вечером понадобился источник питания 5В и ничего более подходящего чем платка под рукой не оказалось. В процессе отладки нулевой и первый пины были временно (и случайно) "посажены" на землю, каждый через светодиод с резюком в 1кОм. При этом RX и TX на плате загорались, чему я тогда не придал значения.
После этого была попытка залить скетч и лог окрасился оранжевым. Все "ученические" косяки вроде неправильно выбраного порта или платы были последовательно исключены. Форум на предмет этой ошибки курился и не только он. Однозначного ответа на свой вопрос найти не смог. Заливать скетч с зажатым и по-разному нажимаемым "reset'ом" пробовал, результат = 0.
Перемычка на пинах 0 и 1 дала следующий результат: при отправке сообщения оба светодиода передачи загораются, при чем чем длиннее строка сообщения тем, соответственно, дольше время свечения. Без перемычки аналогичным образом ведет себя один светодиод. Примечательно, что в лог монитора при этом сообщение не возвращается. Плата никак не реагирует на нажатие кнопки сброса, но залитый на нее скетч, по всей видимости, продолжает работать.
В терминале следующее пишет:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x97
И так десять попыток (2 of 10, 3 of 10, etc) при чем коды ошибок(или не ошибок) в конце строки бывают разными как при разных пробах залить скетч, так и в рамках одной пробы.
Собственно, вопрос: что делать? Возможности перезаписать bootloader сейчас нет, вторая плата приказала долго жить. Можно попросить знакомого человечка, но лишний раз беспокоить его не охота, только если есть гарантия что реально поможет. По какому алгоритму можно (и можно ли?) сделать более точную диагностику без применения дополнительных тех. средств?
Проблема еще не решилась. Была произведена проверка через PuTTY с замкнутыми rx и tx. Светодиоды моргают, но в терминал ничего не возвращается. Сделал вывод, что неисправна CH340. Помогите, пожалуйста подтвердить диагноз. Желательно без демонтажа ИС и проверки на осциле, последнего сейчас нет в распоряжении.
Adlynx, для CH340 нужно замыкать непосредственно выводы на чипе (2 и 3 кажется). И ресет на землю. Программатор можно сделать из буквально из ничего. Погуглите "программатор 5 проводков", "программатор Громова"
Да , верно . Там на чипе нужно замкнуть , 2 ноги . Дальше на них емкостишки стоят , на следующие ноги , и подать питание на плату , светодиод помигает . Чип обнулится на родную прошиву . На Меге так раз делал . Распиновку ног погуглить !
Adlynx, для CH340 нужно замыкать непосредственно выводы на чипе (2 и 3 кажется). И ресет на землю. Программатор можно сделать из буквально из ничего. Погуглите "программатор 5 проводков", "программатор Громова"
Там вроде был программатор загрузчика , если не изменяет память ATMEL1525 ATTINY44A по ISP
auditordik, вы к нам наверное из какой-то альтернативной реальности прибыли, где китайцы под названием ch340 выпустили микроконтроллер. Но в нашей реальности это просто аппаратный преобразователь USB-TTL,и замыкай не замыкай - ничего не обнулится.
Это не мой комент , я писал про загрузчик ISP , ATMEL 1525 ATTINY 44 A , там нечего замыкать . Замыканием ног , и последущей подачей напряжени , делают полный ресет некоторых микроконтроллеров , я тахографы на грузовиках так лечу ))
auditordik
Добрый день!
У меня на одной из плат Arduino Nano такая же проблема. Плата определяется. Проверил мультитестером - везде есть напряжение. На CH340 и на atmega328. Плату видит Arduino IDE, но выдает эту ошибку. Попытка залить bootloader с помощью другой платы не увенчалась успехом. Что там замыкать и на каком чипе? Погуглил, но что-то такого не нахожу - про замыкание.