Skocz do zawartości

Problem z wgraniem programu na uC


Konstruktor

Pomocna odpowiedź

Witam, natrafiłem dzisiaj na problem z zaprogramowaniem mikrokontrolera. Napisałem w C prosty program do zapalania i gaszenia diody LED. Skompilowałem go, i zrobiłem plik .hex. Próbując wgrać program na µC dostaję taki błąd:

avrdude: error: programm enable: target doesn't answer. 1

avrdude: initialization failed, rc=-1

Double check connections and try again, or use -F to override

this check.

avrdude done. Thank you.

Programator: USBasp

µC: ATmega8

Układ zasilam tylko z programatora.

Komputer widzi programator(pracuję na Ubuntu), dioda oznaczająca programowanie układu na chwilę się zapala, potem wywala błąd.

Pozdrawiam

Link do komentarza
Share on other sites

1. Jesteś pewien, że układ jest zasilany? ( Chodzi o programowany mikrokontroler - zazwyczaj jest zworka, która ustawia czy zasilać układ docelowy czy nie z programatora - sprawdź miernikiem )

2. Ustawiłeś programator w stan wolnego programowania? Jak procesor ma wolny zegar (domyślnie) to musisz programować go w trybie małej prędkości ( tutaj też zazwyczaj jest zworka ).

3. No i na koniec sprawdź czy układ docelowy jest poprawnie wlutowany, wszystkie połączenia do programatora są poprawnie zrobione (brak zwarcia) i czy nic nie obciąża zbytnio wejścia reset...

Błąd który widzisz mówi, że programator nie dostał żadnej odpowiedzi od strony mikrokontrolera...

Link do komentarza
Share on other sites

Napięcie na złączu na płytce z ATmegą: 4.75 V. Napięcie na ATmedze: też 4.75 V.

Nie ustawiłem w tryb wolnego programowania, bo do ATmegi mam podłączony kwarc 8 MHz.

Połączenia sprawdzałem miernikiem, wszystkie przewodzą.

Co do resetu... Sprawdziłem opór między pinem RST ATmegi, a programatorem. Wynosił 14 kOhm... Poprawiłem połączenie. Sprawdziłem inne ścieżki, ale one wydają się być w porządku.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

A ustawiłeś to coś gdzie masz bc/br itp z liczbami? Sorki za takie objaśnienie, ale nie wiem jak to się nazywa.

Nie wiem, nie pamiętam żebym coś takiego robił, chociaż możliwe że po prostu nie kojarzę o co chodzi.

Programowanie uruchamiam tym:

avrdude -p atmega8 -P avrdoper -c usbasp -U flash:w:leds.hex

[leds.hex to program który chcę wgrać]

-P ustawia port, w tym artykule było napisane że to 'avrdoper'. Tak powinno być?

Link do komentarza
Share on other sites

Teraz pojawia mi się inny błąd:

Wpisuję:

avrdude -p atmega8 -P avrdoper -c usbasp -U flash:w:leds.hex

Dostaję:

avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

avrdude done. Thank you.

Włączyłem zworkę od wolnego programowania, sprawdziłem złącze programatora(czy odpowiednio połączone z µC), sprawdziłem napięcie.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.