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 - brak wykrywania po zmianie konfiguracji Portc.6 na wejście

kyjo44 15 Maj 2005 14:42 4032 23
REKLAMA
  • #1 1494598
    kyjo44
    Poziom 11  
    Posty: 8
    Ocena: 1
    Witam , mam taki problem.Programowalem mikrokontroler... wszystko dzialalo ok, kilka razy go zaprogramowalem i dzialal. Dodalem cos do programu, zaprogramowalem i koniec, juz nie dzialal a programator go nie wykrywa juz... Programowalem codevision. To co dodałem to :
    Ustawienie Portc0..Portc5 jako wyj z wartoscia 1 i Portc6 jako wej wartosc T (code vizard).

    Da sie cos z tym zrobic ?? Ktos na elektrodzie napisał kiedys odnosnie niedzialającego atmega:

    "Powodów może być wiele
    Jednym z głównych może być np.ustawiona nóżka RESET jako port in/out
    Wtedy bascom nie wykrywa mikrokontrolera
    W takiej sytuacji żaden programator szeregowy sobie z tym nie poradzi
    muszisz przekonfigurować (programatorem równoległym) odpowiedni fusebit i wszystko powinno działać"

    Nóżka reset to w Atmega8 Portc.6

    Czy to moze byc cos takiego czy kupowac juz nowy mikrokontroler ??
  • REKLAMA
  • #2 1494774
    K_o_n_r_a_d
    Poziom 23  
    Posty: 318
    Pomógł: 86
    Ocena: 9
    Jeżeli ustawiłeś nóżkę RESET jako Portc.6 to musisz użyć programatora równoległego. Mając równoległy możesz też z powrotem ustawić na RESET.
  • #3 1494875
    kyjo44
    Poziom 11  
    Posty: 8
    Ocena: 1
    heh z tego co poczytalem i zobaczylem w programie to chyba fusebity mi sie zaprogramowaly..., wiec cyba kupie nowy, nie chce mi sie robic tego programatora równoległego ;)
  • #4 1496881
    prototyp
    Poziom 2  
    Posty: 3
    Przemyśl to jeszcze raz. Atmega8 jest tani, ale taniej wyjdzie programator równoległy. A co jeśli po raz kolejny zablokujesz sobie procka? Chyba że poczekasz aż nazbiera się ich więcej...:)
  • #5 1496891
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    prototyp napisał:
    Przemyśl to jeszcze raz. Atmega8 jest tani, ale taniej wyjdzie programator równoległy. A co jeśli po raz kolejny zablokujesz sobie procka? Chyba że poczekasz aż nazbiera się ich więcej...:)


    Problem w tym, że każdy myślący człowiek taki błąd robi tylko raz i w tym, momencie szybciej i pewniej jest kupić nowy procesor. A szuflady ATMELowców obrastają w zablokowane procki
  • REKLAMA
  • #7 1497509
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Light'­­­­I napisał:
    No to podeślij mi zawartość swojej szuflady, to ci poustawiam, co trzeba... ;)


    1 szt ATMega16 z Łodzi do Słupska i z powrotem? To już wolę się dogadać z tymi od perpetum mobile. Oni tam mają orgon, którym zresetują każdy procesor na odległość ;-)

    https://www.elektroda.pl/rtvforum/topic100667.html
  • #8 1515120
    -sivy-
    Poziom 12  
    Posty: 75
    Pomógł: 1
    Ocena: 1
    witam!

    ja chciałem zmienić fuse z internal clock 1MHz na external (bo mam podpięty kwarc) no i ... "brak kontaktu ze światem".

    - korzytam z bascom'a
    - programuję przez lpt'a
    - komunikat "could not identify chip with ID:FFFFFF"

    jak zresetować fuse'y ??
  • #9 1515277
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Programatorem równoległym, przejżyj forum, było parę razy juszzz...
  • #10 1515336
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Można jeszcze wykonać kasowanie a jak to nie pomoże to podpięcie zewnętrznego generatora na XTAL1 a jak to nie da rady to tylko programator równoległy.
  • #11 1515579
    -sivy-
    Poziom 12  
    Posty: 75
    Pomógł: 1
    Ocena: 1
    GienekS napisał:
    (...) to podpięcie zewnętrznego generatora na XTAL1(...)


    tyle że ja mam podpięty kwarc 16MHz...
  • REKLAMA
  • #13 1515687
    -sivy-
    Poziom 12  
    Posty: 75
    Pomógł: 1
    Ocena: 1
    wlutowałem go wraz z kondensatorami (22), więc nie rozumiem, po co mi dodatkowy generator... kwarc nie wystarczy?
  • #14 1516060
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Zacznij od czytania postów w tym dziale, potem zadawaj dziwne pytania... ;) Generator jest od postawienia układu na nogi, potem wracasz do normalnego podłączenia kwarcu.
  • REKLAMA
  • #15 1516139
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Light'­­­­I napisał:
    to go wylutuj razem z kondensatorami i zewnętrzny generator...
    https://www.elektroda.pl/rtvforum/topic141564.html#1035441


    Koniecznie wylutowywać?? Jeśli na wejście generatora w procesorze podasz sygnał z generatora o niskiej rezystancji wewnętrznej (TTL, CMOS), to (chyba) wytłumi on wszelkie przejawy samowoli kwarcu. A i kwarcowi takie forsowanie nie powinno zaszkodzić?
  • #16 1516205
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Wszystko zalezy od klasy sprzętu do lutowania, lutownic do rynien nie polecam... ;) Wylutować i wlutować to raczej podstawowe umiejętności elektronika... :P Nie ma sie co zastanawiać nad elementami za 1PLN. Osobiście takie operacje przeprowadzałem wielokrotnie i nie było to powodem do "padnicia" oscylatora.
  • #17 1517015
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    Ja mam do tego celu "oscylator zewnętrzny" zlutowany na pająka na ne555, ok. 100kHz niemierzone, kwarca nie musisz odpinać od Megi.
    Natomiast mam inną uwagę, z podpietym kwarcem 16MHz mega8 nie chciała sie komunikowac z programatorem (żadnym) dlatego płytke testowa mam wyposażoną w przełącznik kwarców, drugi to 4MHz przełączany na moment programowania. Nie dochodziłem z braku czasu dlaczego tak jest (tylko z mega 8). Moze ktoś wie?
    Pozdr. N.
  • #18 1517043
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Nawigator napisał:
    Natomiast mam inną uwagę, z podpietym kwarcem 16MHz mega8 nie chciała się komunikowac z programatorem (żadnym) dlatego płytke testowa mam wyposażoną w przełącznik kwarców, drugi to 4MHz przełączany na moment programowania. Nie dochodziłem z braku czasu dlaczego tak jest (tylko z mega 8). Moze ktoś wie?
    Pozdr. N.
    Fusebit CKOPT zaprogramowany ? ;)
  • #19 1526489
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    Tak jest obywatelu majorze!!! kilka prób z innymi ustawieniami fusów też zrobiłem i nic. Zresztą kwarc 16MHz na oscyloskopie widać ładnie chodzi i problem jest raczej w komunikacji bo się mega nie zgłasza. A np. Tiny26 w tej samej sytuacji i konfiguracji programuje sie na kwarcu 16MHz bez problemu. Taka ciekawostka przyrodnicza.
    Pozdr. N.
  • #20 1526789
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 130
    Moze to absurdalne ale masz na pewno wersje -16 ??
  • #21 1526800
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Przełącznik kwarców? Obawiam się że powstają na nim takie pojemności, że biedna mega sobie z nimi rady nie daje. Napisz jak masz ustawione fusy!
  • #22 1527747
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    1) tak jest to wersja -16
    2) pojemności nic tu nie mają do rzeczy bo:
    - z kwarcem 16MHz lutowanym krótko przy mega8 programowanie też nie działało
    - przełącznik (miniaturowy suwaczek) dodałem później i mega8 bez problemu oscyluje z nim na 16MHz
    3) fuses poprawnie ustawione na kwarc 16MHz
    4) w tiny26 raz jeszcze dodaję chodzi poprawnie wszystko
    Pozdr. N.
  • #24 1528905
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    Do resetu daję standardowo 10nF do masy i 100k do Vcc, przy próbach zmieniałem też te wartosci ale bez efektu. Na resecie jest pełne Vcc. Zaprogramować mogę flash ATMega8 bez problemu ale jeszcze przed zmianą fuses z osc. wewn. na własny kwarc. Tak jakby zegar transmisji ISP był potem za szybki.
    Pozdr. N.

Podsumowanie tematu

✨ Problem dotyczy mikrokontrolera ATmega8, który po zmianie konfiguracji portu C.6 (nóżka RESET) z funkcji resetu na wejście przestał być wykrywany przez programator ISP. Ustawienie fusebitów spowodowało zablokowanie możliwości programowania przez interfejs szeregowy. Rozwiązaniem jest użycie programatora równoległego do przywrócenia prawidłowej konfiguracji fusebitów i przywrócenia funkcji RESET na pinie Portc.6. Alternatywnie można rozważyć zakup nowego mikrokontrolera, jednak koszty i ryzyko powtórnego zablokowania sugerują budowę lub zakup programatora równoległego. Dodatkowo w dyskusji poruszono problem programowania ATmega8 z kwarcem 16 MHz, gdzie komunikacja ISP może być utrudniona, a rozwiązaniem jest czasowe podłączenie zewnętrznego generatora sygnału zegarowego (oscylatora) lub zmiana ustawień fusebitów. Wskazano także na konieczność prawidłowego podłączenia resetu (np. kondensator 10nF do masy i rezystor 100k do Vcc) oraz na możliwe problemy z fusebitem CKOPT. Wymiana mikrokontrolera jest często wybieranym rozwiązaniem, ale nie eliminuje problemu przy kolejnych błędach konfiguracji fusebitów.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA