Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega8 - Błąd przy sprawdzeniu podłączenia AVR w mkAVRCalc

Kubik213 13 Lis 2013 01:05 1518 8
  • #1 13 Lis 2013 01:05
    Kubik213
    Poziom 12  

    witam, otóż wszystko robiłem zgodnie z kursem video: https://www.youtube.com/watch?v=LiQcVSPkT6M
    Próbowałem już dwukrotnie, jakieś dwa tygodnie temu wystąpił ten sam błąd, odłożyłem wszystko na bok i dzisiaj ponownie chciałem spróbować od zera, niestety błąd pojawił się po raz kolejny, a myślę, że robiłem wszystko ze szwajcarską precyzją...

    błąd w mkAVRCalculator:
    Atmega8 - Błąd przy sprawdzeniu podłączenia AVR w mkAVRCalc

    Mój programator USBASP zakupiłem na allegro, dokładnie na tej aukcji:

    Cytat:


    czy jest możliwość, że akurat ten USBASP ma inne wyjścia MISO, RST, MOSI itd.? W sensie, że wyjścia w złączu KANDA są inaczej wyprowadzone?

    Pozdrawiam i z góry dziękuję za pomoc!

    #edit sprawdzałem dwie inne atmegi8 i także ten sam błąd, wina więc leży po stronie podłączenia? Sterowniki raczej mam dobrze zainstalowane, Windows7 x64

    0 8
  • #2 13 Lis 2013 01:12
    Ture11
    Poziom 34  

    Podstawowa sprawa, czy jest zworka SLOW założona? Nie wnikam w filmik z Youtube, bo trwa za długo. Programator raczej nie może mieć zamienionych nóżek...

    0
  • #3 13 Lis 2013 01:15
    Kubik213
    Poziom 12  

    tak, błąd występuje bez różnicy czy zworka jest na VCCINT czy też SlowSCK, jedynie przy "Self Pro~~" nie wykrywa w ogóle AVR, ale to chyba logiczne skoro nie ma wtedy napięcia na mikrokontrolerze.

    0
  • Pomocny post
    #5 13 Lis 2013 01:27
    Ture11
    Poziom 34  

    Nie do końca, albo kolega coś namieszał.

    Self programming na USBASP cię nie interesuje. To pozwala na zaprogramowanie tylko programatora.

    Kolega zasila mikroprocesor z USBASP? Jeśli tak, to musi kolega mieć zworkę na VCCINT i SlowSCK (VCCINT podaje zasilanie na złącze KANDA a nie na programator!)

    Dodano po 2 [minuty]:

    Może wyjaśnię po krótce o co chodzi z SlowSCK - ta zworka wymusza na programatorze wolniejszą komunikację, i gdy masz nowy mikrokontroler to zworka musi być założona, bo nowy mikroprocesor ma zaprogramowany rezonator wewnętrzny 1MHz (zworkę Slow zdejmuje się gdy kwarc ma powyżej 1,5MHz!).

    0
  • #6 13 Lis 2013 01:53
    Kubik213
    Poziom 12  

    # tak zasilam atmege poprzez usbasp, posiadam tylko jedną zworkę, mogę zewrzeć albo vccint albo slowsck :/

    zdjęcie programatora:
    Atmega8 - Błąd przy sprawdzeniu podłączenia AVR w mkAVRCalc

    #EDIT

    DZIAŁA! trzeba było zewrzeć VCC i SlowSCK tak jak mówił kolega wyżej!! a teraz mam takie pytanie (bo zwarłem VCC za pomocą nożyczek) czy zawsze będę musiał mieć zwarte i SlowSCK i VCC?

    0
  • #7 13 Lis 2013 02:13
    Ture11
    Poziom 34  

    Odłączając zworkę VCC odłączałeś zasilanie Atmegi.

    Możesz przeprogramować fusebity odpowiedzialne za rezonator wewnętrzny, ale to bardzo niebezpieczne dla początkujących!.

    Teraz masz ustawiony kwarc wewnętrzny1MHz. Możesz ustawić też wewnętrzny 2MHz, 4MHz lub 8MHz. Każdy oprócz 1MHz pozwoli na komunikację bez zworki SlowSCK.

    Zmiana fusebitów przez początkujących jest niebezpieczna, bo można zablokować mikroprocesor tak, że nie dogadasz się z nim już przez ISP..

    Jeśli jednak chcesz zmienić fusebity, to zrób to właśnie w MKAVRCALC, no i nie próbuj zaznaczyć pozycji innej, niż internal / wewnętrzny. Który dokładnie zaznaczyć - nie pamiętam, i polecam się wstrzymać z tym.

    Co do zworki, to można ją wyjąć z praktycznie każdej części komputerowej, więc na pewno gdzieś w domu taką znajdziesz. Są na płytach głównych, na DVD/CD, na dyskach często...

    0
  • #8 13 Lis 2013 09:45
    Kubik213
    Poziom 12  

    czyli teraz jeżeli chcę zmienić wewnętrzny oscylator (kwarc) na 2MHz to czym to skutkuje? czym różni się to od pozostałych? Jeżeli dobrze rozumiem to wystarczy po prostu przestawić to w programie przy podłączonym AVR?

    0
  • Pomocny post
    #9 13 Lis 2013 11:42
    Ture11
    Poziom 34  

    Wewnętrzny oscylator 2MHz jest szybszy od 1MHz (dwa razy). Jeśli zmienisz jego deklarację w programie, to nie będzie to wszystko, co trzeba zrobić - program będzie uważał, że kwarc ma 2MHz, ale procesor będzie taktowany 1MHz. By zmienić taktowanie mikroprocesora, trzeba zmienić FUSEBITY mikroprocesora. Do tego zadania dobrze nadaje się właśnie MKAVRCALCULATOR, bo bardzo ułatwia tę sprawę.

    WAŻNE.
    Jeśli zmienisz rezonator na nieodpowiedni, procesor zaprogramuje się i przełączy na wybrany kwarc... Jeśli go fizycznie nie będzie, mikroprocesor straci taktowanie, a tym samym komunikację z programatorem. Przestawienie fusebitów nie będzie możliwe.

    Dodano po 6 [minuty]:

    Najbezpieczniej jest zrobić zmianę w mkavrcalculator w zakładce "Fusy uproszczone":

    Atmega8 - Błąd przy sprawdzeniu podłączenia AVR w mkAVRCalc

    Wybierasz wewnętrzny oscylator (ja polecam 8MHz, jest najczęściej używany (choć prądożerny)) i przechodzisz do zakładki "programator AVR", zaznaczasz "[rodzaj pamięci] - fuse bity" i "[Operacja AVR] - zapis" no i " - wykonaj".

    Dodano po 1 [minuty]:

    Oczywiście po zmianie Fusebitu trzeba zmienić deklarację rezonatora w programie, na identyczną (prawdziwą).

    0