Кирпичик
- Войдите на сайт для отправки комментариев
Всем привет!
Есть плата,китайская,аналог Arduino,Pro Micro,с ATmega32u4(миниатюрная леонардо).
Пользуюсь месяц,всё замечательно,до сегодняшнего дня.
Значит решил я выткнуть модуль nRF24L01,ну втыкнул,начал ковырять прошивки на него,в итоге решил залить пример из Mirf(библиотека),заливка прошла успешно(радиомодуль был подключён),после этого я получил кирпич,плата не определяется(USB девайс не опознан),в диспечтере устройств выгядит как "Unknown Device",в состоянии устройств(в диспетчере) пишет - "Устройство отключено, так как управляющая микропрограмма устройства не получила затребованные ресурсы от системы. (Код 29)",как вы поняли,Arduino тоже не видит нифига,в диспетчере COM портов тоже нету.
Подскажите что делать,как возродить камушек.
Если что,заказывал его за копейки,не жалко,но лень ждать пока новый придёт.
Пример из Mirf - ping_client,из библиотек только RF24 и Mirf.
В общем,есть у меня USBAsp с Китая,работать с ним не хочет,arduino не видит!Дрова свежие,система видит как USBAsp,но в среде could not find usb device.COM портов нет(я имею ввиду плату arduino).
Также есть Arduino UNO,залил на неё скетч ArduinoISP,подключил кипричик к ардуинке(контакты 10-13 и питание с землёй),открыл ардуину,порт стоит COM3(Arduino Uno),плата Arduino Micro(она всегда так определялась с момента заказа),нажимаю на заветную кнопку "Записать загрузчик",на плате-програматорре помигают RX и TX,затем на кирпичике мигают RX и TX один раз одновременно и ошибка,выводит следующее:
USBAsp не пробую,так как среда не видит его,в гугле решения не нашёл
Там написано, что ожидаемая сигнатура для ATmega32U4 должна быть 1E 95 87. А по факту считывается какая-то другая. В настройках IDE поставь галку "Показать подробный вывод" - "Загрузка". В подробном логе будет видна та сигнатура, которая считывается.
USBAsp не пробую,так как среда не видит его,в гугле решения не нашёл
Это косяк с avrdude. Решение - заменить avrdude.exe и avrdude.conf от другой версии Arduino IDE (постарее или поновее). Там что-то с VID/PID в конфиге (несколько разных USBasp).
Очень интересно получается...)
Device signature = 0x00ff00,это то,что было в логе.
По поводу avrdude,попробую чуть позже(сейчас нет времени),сигнатура пугает...
Кстати,при подлючении к компьютеру плата определяется,видит среда её,COM9(Arduino Micro),только вот при заливке скетка на стадии загрузки меняется порт(ну плата отключается от компьютера тип,звук отключения устройства выдаётся виндой),после этого оба светодиода быстро мигают и так бесконечно...
Device signature = 0x00ff00
Это значит, что сигнатура нормально не считывается. Проблема либо где-то в плохом контакте / длинных проводах, либо с микроконтроллером.
Можно ещё попробовать понизить скорость SCK программатора. В скетче Arduino ISP в строке #define SPI_CLOCK (1000000/6) поставить цифру поменьше, например 128000/6. Если заработает, то прошиваться будет довольно медленно.
Кстати,при подлючении к компьютеру плата определяется,видит среда её,COM9(Arduino Micro),только вот при заливке скетка на стадии загрузки меняется порт(ну плата отключается от компьютера тип,звук отключения устройства выдаётся виндой),после этого оба светодиода быстро мигают и так бесконечно...
Это говорит о том, что с платой всё хорошо, загрузчик цел. Но вы в своей программе отжали какие-то ресурсы от USB CDC (таймер/ ноги/ прерывание) Нужно от платы всё лишнее отсоединить, и держать зажатым ресет до момента загрузки, и отжать как только появится надпись "загружаем".
dimax,и так тоже пробывал)
Но в логе ошибка - avrdude: butterfly_recv(): programmer is not responding
Ребят,всем спасибо за помощь,хз что бы делал если бы не написал на форум :)
В общем,не хочу чтобы без дела USBAsp лежал(ну не нравиться мне =)),скачал рандомный avrdude(а если быть точнее то 5.1,старее чем был),поменял avrdude.exe(arduino/hardware/tools/avr/bin) и avrdude.conf(сам конфиг,arduino/hardware/tools/avr/etc),увидел он программатор,всё прошилось,камушек успешно восстановлен.
P.S:Нулевая сигнатура была когда я подключал камушек через arduino uno,скорей всего не было контакта,но не суть,ведь решил проблемму через usbasp