logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega8 - błąd rc=-1 przy ładowaniu programu, jak sprawdzić uC?

KRZAG 04 Lut 2005 17:14 2217 10
REKLAMA
  • #1 1197975
    KRZAG
    Poziom 12  
    Posty: 82
    Ocena: 1
    witam na wstępie pragnę zaznaczyć, że o mikrokontrolerach wiem niewiele, ale się staram!:P
    zbudowałem sobie programator http://www.patron.net.pl/AVRintropl.htm
    i chciałbym wiedzieć czemu przy próbie załadowania programu mam błąd (rc=-1)
    w jaki sposób określić co jest nie tak?
    port lpt mam sprawny bo drukarka nie narzeka
    podłączenia sprawdzałem wiele razy
    jak określić sprawność samego uC może macie jakieś pomysły np jaki powinien być stan na określonej nóżce
    nie chciałbym kupować nowego procka po to by się dowiedzieć że coś robię nie tak i że np spale drugi w ten sam sposób- to głupie lepiej na pifko skoczyć za tą kasę :)
    dzieki za pomoc w mojej edukacji :)
    pozdrawiam
  • REKLAMA
  • #2 1198374
    gwolf
    Poziom 14  
    Posty: 63
    Pomógł: 6
    Ocena: 1
    Witam
    Czy podłączyłeś zasilanie do procka bo sam port LPT go nie zasili
    Proponuję złożyć prosty programator na HC244. Odkąd zacząłem programowanie AVR-ów używam go i nie sprawił mi niespodzianek. koszt wykonania to gniazdo LPT, kilka rezystorków i kondensator. Całość mięści się w obudowie gniazda LPT.Jak chcesz to mogę Ci przesłać schemat
    I jeszcze jedna uwaga na przyszłość:
    Nie ustawiaj niepotrzebnie RESET'u jako IN/OUT bo zablokujesz programowanie szeregowe i możesz mieć problem
    Pozdrawiam
  • REKLAMA
  • #3 1198407
    KRZAG
    Poziom 12  
    Posty: 82
    Ocena: 1
    podłączyłem zasilacz komputerowy 5V jako zasilanie, jeśli to nie problem to chętnie skorzystam z proponowanego schematu bo obecny zaczyna mnie juz lekko irytować :o) (moj adres to krzag(_at_)poczta.onet.pl)
    aha przy okazji zapytam jaką odporność na przepięcia ma ten procek bo może komputerowy zasilacz to zbyt wiele? daje ok 5,5V wiesz może jak sprawdzic czy uC jeszcze dziala??
    i jeszcze jedno co masz na mysli mowiac:
    Nie ustawiaj niepotrzebnie RESET'u jako IN/OUT bo zablokujesz programowanie szeregowe i możesz mieć problem
    jestem totalnie zielony wiec sie nie smiej :P
    dzieki za pomoc i wyrozumialosc
  • REKLAMA
  • Pomocny post
    #4 1199986
    gwolf
    Poziom 14  
    Posty: 63
    Pomógł: 6
    Ocena: 1
    Witam
    Mikrokontrolery serii ATMEGA mają dodatkowo pamięć konfiguracyjną, odpowiedzialną za dodatkowe ustawienia (częstotliwość generatora wewnętrznego .... a także można końcówkę RESET ustawić jako wejście lub wyjście). Ustawienie tej końcówki powoduje brak wyprowadzenia RESETu i żaden programator szeregowy go nie zaprogramuje (gdyż ta końcówka jest wykożystywana przy programowaniu)
    Odnośnie zasilania to górna granica dochodzi bodajże do 6V(co jest podane w dokumentacji) tak więc wydaje mi się że procek powinien być dobry
    Ps. Schemat programatora już skanuję i zaraz powinien do ciebie dotrzeć (wraz z krótkim opisem)
    Pozdrawiam

    Dodano po 14 [minuty]:

    witam
    Górna granica zasilania to chyba 6V(najlepiej sprawdź w dokumentacji) .
    Wydaje mi się że procek jest sprawny a wina leży po stronie programatora
    mikrokontrolery z serii ATMEGA mają dodatkowo pamięć konfiguracyjną, odpowiedzialną min. za częstotliwość wewnętr4znego rezonatora RC i..... Dodatkowo można właśnie ustawić końcówkę RESET lub zrobić z niej port IN/OUT. Fabrycznie końcówka ustawiona jest jako RESET (jeden z sygnałów sterujących podczas programowania szeregowego). Jeżeli ustawisz tą końcówkę jako port(poprzez zmanę odpowiednich fusebit'ów), wówczas programator nie rozpozna procesorka .
    Schemat powinien dzisiaj dotrzeć do ciebie
    Pozdrawiam

    Dodano po 4 [godziny] 49 [minuty]:

    schemat programatora avr stk200
  • Pomocny post
    #5 1200974
    ArtXs
    Poziom 24  
    Posty: 468
    Pomógł: 93
    Ocena: 112
    W takim układzie możesz zaprogramować tylko nowy procek, który ma ustawione Fusebits na prace z wewnętrznym oscylatorem (ustawienia fabryczne). Jeżeli masz procek z jakiegoś urządzenia może mieć on ustawione fusebits na prace z zewnętrznym oscylatorem. Wtedy musisz dołączyć dodatkowo do nóżek XTAL1 i XTAL2 jakiś oscylator np. 4-8 MHz i dwa kondensatory np. 22-28 pF do masy.
  • REKLAMA
  • #6 1201906
    KRZAG
    Poziom 12  
    Posty: 82
    Ocena: 1
    wydaje mi się że odnalazłem przyczynę otóż ściągnołem sobie program monitorujący port LPT i zmieniałem sygnały programem, lecz na końcówce portu nic się nie zmienia, próbowałem udostępniania portu (jak opisano na w/w stronce) ale dalej nic. Może i wam się coś takiego przytrafiło używam win 2000 i lpt próbowałem już jako normal ecp i epp ciągle taki sam rezultat. Drukatka mi drukuje, skaner skanuje więc port działa ale jak się do niego dobrać???
    lekko zaczyna mnie to już irytować :P

    ps dzięki gwolf za schemat
  • Pomocny post
    #7 1202637
    Sztopa
    Poziom 12  
    Posty: 19
    Pomógł: 1
    W 2k/xp/nt potrzeba odpowiedniego sterownika do portu lpt, gdyż w tych systemach nie można na "żywca" dobrać się do sprzętu. Więc albo sterownik, albo win98 ;)
    Ja używam czegoś takiego, programator, schemat płytki i pasujący do tego sterownik:
    Załączniki:
    • twinavr.zip (90.33 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #8 1202783
    KRZAG
    Poziom 12  
    Posty: 82
    Ocena: 1
    no dobra są postępy dzięki temu programikowi port ltp juz reaguje ale procek dalej nie :( ehh i jak ja mam zawładnąć światem ;)
  • #9 1204446
    ArtXs
    Poziom 24  
    Posty: 468
    Pomógł: 93
    Ocena: 112
    1) Czy to jest nowy procesor ze sklepu, nie programowany czy z odzysku?? Jeżeli z odzysku być może ma ustawione Fusebity na zewnętrzny oscylator i bez niego procek nawet nie ruszy.

    2) Trochę dziwny jest ten programator. Osobiście polecam STK200/300, mniejsze ryzyko uszkodzenia portu i jest kompatybilny z wieloma programami. (1 scalak, rezystor, kondensator i dioda - można zrobić na pająku i schować w obudowie złącza).

    Możesz też spróbować ściągnąć Bascom AVR-Demo (o ile się nie myle sam moduł programatora niema ograniczeń) przelutować 4 kabelki we wtyczce (tam są wykorzystywane inne linie portu) i sprawdzić - Napewno chodzi pod windowsem 2000, XP bez problemowo i bez żadnych wynalazków. W ustawieniach programatora wybierz - Sample electronics programmer.
    Oba schematy programatorów są w helpie (Sample i STK200/300).
  • #10 1204914
    romantv
    Poziom 17  
    Posty: 328
    Pomógł: 11
    Ocena: 8
    Witam e juz wszyscy Ci pomagali ja z wlasnego doswiadczenia poge ci udzielic porad.Rowniez kiedys zaczynalem i ciagle sie ucze!!!
    ATmegi sa bardzo odporne oczywiscie w granicach rozsadku :)
    Jesli masz problemy pierwsze co powinienes sprawdzic to czy jest komunikacja Program - programator - klocek.
    Polaczenia programa z portem tez powinienes sprawdzic dokladnie.
    bardzo czesto jest problem z kwarcem a i kondensatory wypada sprawdzic. Kiedys omylkowo wlutowalem 33pF i 10n :) a opis jest podobny "33" "103" .
    Jesli jest komunikacja to problem moze byc tylko w programie napisanym przez Ciebie! Pozdrawiam papa
  • #11 1324363
    gromnik19
    Poziom 15  
    Posty: 98
    Pomógł: 10
    Witam, tez wlasnie zaczynam sie bawic atmega8. I tez do nauki korzystam ze stronki ktora podales. Zbudowalem programator ktory jest tam opisany i dziala (prawie) bez problemu. Wczoraj myslalem ze rozwalilem uklad, kupilem nowy, a okazalo sie ze to programator :(.
    Sprawdz dokladnie polaczenia wtyczka--->podstwaka. Jesli masz podstawke na plytce to tym bardziej moze tam cos byc nie tak. Wg. mnie, jesli masz nowy uklad to wina lezy po stronie programatora Ucz sie na bledach innych :]

Podsumowanie tematu

✨ Problem dotyczy błędu rc=-1 podczas programowania mikrokontrolera Atmega8 za pomocą własnoręcznie zbudowanego programatora podłączonego do portu LPT. Użytkownik potwierdził poprawne zasilanie 5V z zasilacza komputerowego, jednak pojawiają się wątpliwości co do stabilności napięcia i stanu mikrokontrolera. Wskazano, że port LPT nie zasila układu i konieczne jest zewnętrzne zasilanie. Poruszono kwestię ustawień fusebitów, które mogą wymagać zewnętrznego oscylatora, jeśli mikrokontroler pochodzi z innego urządzenia. Zalecane jest sprawdzenie konfiguracji pinu RESET, który nie powinien być ustawiany jako wyjście, gdyż blokuje to programowanie szeregowe. Problemy z dostępem do portu LPT w systemach Windows 2000/XP wynikają z braku bezpośredniego dostępu do sprzętu i wymagają odpowiednich sterowników. Sugerowano użycie sprawdzonych programatorów, takich jak STK200/300 lub programatora opartego na układzie HC244, które są bardziej niezawodne i kompatybilne z popularnym oprogramowaniem. Wskazano również na konieczność dokładnej weryfikacji połączeń, kondensatorów i kwarcu, gdyż błędy w tych elementach często powodują problemy z programowaniem. W przypadku problemów z programatorem lepiej jest najpierw zweryfikować jego poprawność niż kupować nowy mikrokontroler.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA