Wpis z mikrobloga

#arduino
Mam problem... Mam arduino micro pro (leonardo z atmega32u4), programuję ją zewnętrznym USBasp. Cały czas było ok, nagle zaczął zwracać:

avrdude.exe: error: program enable: target doesn't answer. 1

avrdude.exe: initialization failed, rc=-1

avrdude.exe: AVR device initialized and ready to accept instructions

avrdude.exe: Device signature = 0x202020

avrdude.exe: Expected signature for ATmega32U4 is 1E 95 87


Przy czym sygnatura za każrym razem inna.. Jakieś pomysły?
Kabelki OK, sprawdzane kjilka razy, programator też ok, sprawdzony z innym arduino
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Poprawić stabilność zasilania i jeszcze raz sprawdzić jakość podłączenia.
Dopóki nie ogarniasz uC i nie kończy Ci sie pamięć polecam używać bootloaderów
  • Odpowiedz
@Analityk: Odłączyłem całkowicie wszystko,została goła atmega, bez żadnych dodatków.

Co zrobiłem przed awarią, bo to może ważne...
Nie ogarniam za bardzo do czego w ogóle bootloader (przyznaję, nie chciało mi się czytać ;-) ), a ostatni raz to bawiłem się atmegą8, jeszcze chyba przed czasami arduino..
Otóż używam biblioteki Joystick, po podłączeniu przez USB widoczny jest jako hid (joystick) + jako port COM.
I ten COM chcialem wykorzystać do debugowania -
  • Odpowiedz
Zapomniałem jeszcze dodać, że ten program (z tymi Serial i Serial1) chyba nie wgrał się poprawnie, bo po podłączeniu USB system nie widzi żadnego nowego urządzenia...
  • Odpowiedz
@Forbot: Bardzo dobre pytanie, na które odpowiedzi nie znam. Zaimportowana biblioteka joystick, ale to działało bez problemu

Jedyna różnica w stosunku do działającego programu, to w 'setup':

Serial.begin(9600); //Ustawienie prędkości transmisji
Serial.println("Witaj na Forbocie!"); //Jednorazowe
  • Odpowiedz
@husky83: jeśli program cały czas wysyłał coś przez UART to zwyczajnie możesz nie mieć możliwości, aby wgrać nowy program, bo UART jest już zajęty. Warto spróbować z resetem (ręczny reset mikrokontrolera tuż przed wgraniem programu).
  • Odpowiedz
@Forbot: Co 1s leci to co w Loop (wcześniej sprawdzane na podstawie diodzie, więc na pewno co 1s). Ok, czyli tuż przed programowanie reset. Przyjąłem :-) Zobaczę co i jak
  • Odpowiedz
@Forbot: On używa USBasp, nie ważne co program robi, w chwili kiedy podaje sygnał restart, cały procesor milknie.

@Analityk: dlaczego uważasz, że bootloader to syf? Masz jakieś mocne argumenty?

@husky83: nie podałeś przypadkiem na porty scalaka napięcia wyższego jak 6V?
Kwarc masz stabilny?
Próbowałeś zmienić fusebity na domyślne (o Ile przejdzie)?
  • Odpowiedz
@Forbot: On używa USBasp, nie ważne co program robi, w chwili kiedy podaje sygnał restart, cały procesor milknie.


@Bios: aj, słuszna uwaga... zupełnie mi to umknęło. Przepraszam za zamieszanie...
  • Odpowiedz
@husky83: Zrób zdjęcie tego całego setupu do programowania i pokaż. Używasz usbasp z jakiego poziomu? W konsoli klepiesz avrdude.exe czy masz jakąś nakładę albo masz skądś jakiś plik wsadowy albo może arduino "ide" robi to wszystko za ciebie?
Coś tam dostajesz więc pewnie procek żyje ale teraz co wróżenie z fusów.
Twoje arduino nie obsługuje żadnego seriala w normalny sposób, Atemg32u4 zachowuje się jako usb hid i emuluje wirtualny port
  • Odpowiedz
nie podałeś przypadkiem na porty scalaka napięcia wyższego jak 6V?


@Bios: Nie, zasilanie przez usb, żadnego dodatkowego źródła które mogłoby dać większe napięcie..

Kwarc masz stabilny?

Głupie pytanie, ale jak to sprawdzić? To gotowiec w postaci płytki
  • Odpowiedz