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

Jak ustawić fusebity w programie avrdude gui do uC Atemega8

Scofield1 31 Sty 2009 19:29 7381 13
REKLAMA
  • #1 6082842
    Scofield1
    Poziom 11  
    Witam ! Od niedawna zacząłem zabawę z programowaniem µC i co za tym idzie borykam się z wieloma problemami.

    Więc tak. Mam układzik z Atmegą8 i alfanumerycznym wyświetlaczem LCD 2x16. Chcę do µC podłączyć zewnętrzny rezonator kwarcowy 8MHz. Przeczytałem kilka tematów dotyczących podłączenia tegoż rezonatora do Atmegi8 i dowiedziałem się że trzeba pozmieniać fusebity. Czytając jak to ustawić za pomocą różnych programów zgubiłem się całlkowicie. Program (.hex) wrzucam do µC za pomocą programu avrdude gui. Więc moje pytanie brzmi:
    Jakie pola trzeba zaznaczyć w ustawieniach fusebitów, i jakie wartości należy do nich wpisać aby do µC można było podłączyć zewnętrzny rezonator kwarcowy 8MHz (bez zablokowania µC) używając programu avrdude gui.

    Okienko tego programu wstawiam poniżej. Proszę o odpowiedź.
    Jak ustawić fusebity w programie avrdude gui do uC Atemega8[/img]
  • REKLAMA
  • #2 6082966
    11111olo
    Poziom 42  
    Jaki masz programator?
    Może warto użyć łatwiejszych narzędzi do programowania jak Bascom czy AVR Studio?
  • #3 6083014
    Scofield1
    Poziom 11  
    Mam programator usb.
    *link do allegro usunięty*
    W Bascom AVR pisze programy i je kompiluje, nie używam go do programowania właśnie ze względu na typ programatora - usb.

    Proszę nie umieszczać linków do aukcji itp.
    [Dr.Vee]
  • REKLAMA
  • #4 6083055
    11111olo
    Poziom 42  
    Czy masz w komputerze port LPT?
  • REKLAMA
  • #5 6083066
    Scofield1
    Poziom 11  
    Nie, nie mam. Pracuje na notebook'u.
  • #6 6083176
    Dr.Vee
    VIP Zasłużony dla elektroda
    Użyj kalkulatora on-line, np tego:
    http://www.engbedded.com/cgi-bin/fc.cgi

    W avr-gcc można również ustawiać fuse bity w osobnej sekcji kodu programu, ale to wymaga żonglerki z makefile przy programowaniu. Niemniej da się to zrobić.
    Poczytaj dokumentację nagłówka avr/fuse.h

    Pozdrawiam,
    Dr.Vee
  • #7 6083251
    Scofield1
    Poziom 11  
    A mógłbyś mi podesłać link, który wygeneruje podany wyżej kalkulator z już ustawionym rezonatorem ?? Bo jak wszedłem na niego, to zdołałem tylko wybrać µC.
  • #9 6083360
    Scofield1
    Poziom 11  
    Dziękuje. Teraz tylko zostało potwierdzenie mojego toku myślenia:
    W odniesieniu do obrazka na początku tematu, w polu :
    Low Fuse zaznaczyć Write i wpisać: 0xCF
    High Fuse zaznaczyć Write i wpisać: 0x99

    Czy dobrze myślę ??
  • REKLAMA
  • Pomocny post
    #10 6083604
    dawid512
    Poziom 32  
    Dobrze myślisz :) Tylko pamiętaj aby wcześniej podłączyć ten kwarc bo potem możesz się zdziwić że nie możesz się połączyć z uc.
  • #11 6083672
    Scofield1
    Poziom 11  
    Osobno mam programator i osobno układ, w którym znajduje się podstawka do Atmegi8 i przy niej rezonator kwarcowy 8MHz. Aby wrzucić program na Atmege muszę go przenieść do programatora, który ma tzw. podstawkę, na której znajduje się rezonator kwarcowy 8MHz. Czyli mogę bez problemu zmieniać i zaprogramować µC??
  • #12 6083743
    dawid512
    Poziom 32  
    Słuchaj możesz zmienić fuse bity na zew. kwarc nawet jeżeli nie jest on w danym momencie podłączony. Chochlik polega na tym że jeżeli już zmienisz fuse bity a nie masz podłączonego kwarcu to nie pogadasz z atmegą.
  • Pomocny post
    #13 6083790
    Dr.Vee
    VIP Zasłużony dla elektroda
    Scofield1 napisał:
    A mógłbyś mi podesłać link, który wygeneruje podany wyżej kalkulator z już ustawionym rezonatorem ?? Bo jak wszedłem na niego, to zdołałem tylko wybrać µC.

    Trzeba mieć włączony javascript, ot filozofia.

    Zwróć uwagę, że dla atmega8 jest tam nieścisłość - wg. datasheeta WDTON domyślnie nie jest zaprogramowany (1), a wg. kalkulatora jest (0).

    Pozdrawiam,
    Dr.Vee
  • #14 6087754
    Scofield1
    Poziom 11  
    Niestety powyższe ustawienia czyli
    Cytat:
    Low Fuse zaznaczyć Write i wpisać: 0xCF
    High Fuse zaznaczyć Write i wpisać: 0x99

    nie przyniosły oczekiwanego efektu. Ale znalazłem jak ustawić na zewnętrzny rezonator 8MHz. Umieszczę tutaj tą instrukcję, może komuś w przyszłości się przyda.

    Poniższe komendy wpisuj w wierszu poleceń.

    Uwaga! Zamiast avrdude należy podać ścieżkę dostępu, pod którą znajduje się program avrdude.exe np. "D:\Programy\avrdue\avrdude.exe". Następnie zamiast PROGRAM.HEX należy podać ścieżkę, pod którą znajduje się wgrywany program np "D:\mikrokontrolery\program\program.hex". Pamiętaj aby po zmienianiu fusebitów przy programowaniu do µC był podłączony zewnętrzny rezonator kwarcowy.

    dla ustawienia atmega8 do pracy na wewn. 1MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xe1:m

    dla ustawienia atmega8 do pracy na wewn. 2MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xe2:m

    dla ustawienia atmega8 do pracy na wewn. 4MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xe3:m

    dla ustawienia atmega8 do pracy na wewn. 8MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xe4:m

    dla ustawienia atmega8 do pracy na zewn. 8MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xee:m


    Oryginalny temat znajduje się tutaj

    Myślę, że temat można uznać za zamknięty.
REKLAMA