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

[ATmega32][C] Wgrałem soft - nic się nie dzieje

teraz80 14 Lis 2008 16:32 1801 9
REKLAMA
  • #1 5738023
    teraz80
    Poziom 10  
    Witam wszystkich!
    Na wstępie zaznaczam, że tak naprawdę dopiero uczę się programowania uC, a chcąc zobaczyć "na szybko" do czego zmierzam w tej sztuce, postanowiłem ściągnąć przykłady z książki. Ponieważ zakupiłem zestaw ZL3AVR (z ATmegą32) wraz z programatorem STK200 (z BTC), postanowiłem władować do procka jeden z przykładowych programów z książki R. Baranowskiego "Mikrokontrolery AVR ATmega w praktyce". Przykładziki pomyślnie skompilowałem pod AVR Studio, uruchomiłem ISP Programmer, wszystko wyglądało cudnie, .hex się przesłał (próbowałem dla kilku plików przykładowych), ale niestety - na płytce (LEDach, LCD,...) ani znaku "życia".
    Nie dzieje się nic. Niby LCD coś powinno wyświetlić, niby LEDy powinny się zapalać... Nic. Na LCD cały czas jedna linijka "klocków" się świeci, zamiast literek, po prostu jak włączyłem za pierwszym razem, tak cały czas to samo. Resetowałem, wypinałem programator na wszelki wypadek. NIC.
    Czy ktokolwiek mógłby pomóc mi w śledztwie? Będę bardzo wdzięczny, pozdrawiam i dzięki z góry za troskę.
  • REKLAMA
  • #2 5738776
    Dr.Vee
    VIP Zasłużony dla elektroda
    Tak to jest, "na szybko" - najpierw "wygląda cudnie", a po uruchomieniu nie wygląda wcale... ;)

    Czy te programy zostały napisane na ATmegę32? I dokładnie na tą płytkę, którą masz?

    Może doczytaj do końca jak powinno się uruchamiać te programy. Jeśli płytka i procesor się zgadzają, to autor na pewno wszystko dokłądnie opisał :)

    Pozdrawiam,
    Dr.Vee
  • REKLAMA
  • #3 5739342
    teraz80
    Poziom 10  
    W sumie to są to książka, zestaw uruchomieniowy i programator - w komplecie (http://www.kamami.pl/?id_prod=4042200). Przykłady do tej książki ściągnąłem sobie, od przypadku otworzyłem w AVR Studio, skompilowałem, natomiast plik .hex załadowałem do pamięci Flash przez ISP Programmer (komunikat dostałem, że poszło dobrze).
    Tylko niestety później nie działo się już nic. No i gdzie może być "pies pogrzebany"?...
  • #4 5739443
    don diego
    Poziom 32  
    Oczywiście przeczytałeś dokładnie opis ćwiczenia w książce i wykonałeś wszystko tak, jak jest tam podane, prawda? Wykonałeś odpowiednie połączenia, ustawiłeś fuse bity i wyregulowałeś kontrast wyświetlacza. Możesz zdradzić, z którego ćwiczenia program załadowałeś? Mam tą książkę, może coś pomogę.
  • REKLAMA
  • #5 5739496
    teraz80
    Poziom 10  
    Uuuuu, fatalnie wpadłem. Niestety nie ustawiałem takich rzeczy, jak Fuse bits, itp. Wygląda na to, że chciałem na łatwiznę iść. A czy mógłbyś oświecić mnie w związku z tymi bitami? (jak już wspomniałem, jestem dopiero raczkujący w temacie). Jeśli nie, trudno - będę przynajmniej wiedział, że to wszystko nie takie "hop-siup" i muszę się pomęczyć, zanim cokolwiek zacznie działać.
    Pozdrawiam!
  • Pomocny post
    #6 5741785
    kasaidolar
    Poziom 19  
    Ja bym na twoim miejscu najpierw zrobil tak:
    - napisalbym prosty program migania ledem - w AVR studio trzeba wybrac jaki sie ma procesor i jaki kwarc (lub uklad RC)
    - nastepnie wyslac program do procka - tez trzeba wybrac jaki to procek

    Jak atmega jest nowa to nie zawsze trzeba zmieniac FUSE bity zeby zaswiecic diodke - pojdzie na wewnetrznym RC ale powinno pojsc.

    - jezeli program z diodka ruszy to powoli zabierac sie kolejne elementy tzn wyswietlacz itd. - wtedy bedziesz mogl sobie spokojnie kombinowac z kwarcami zewnetrznymi itd.

    na poczatek wpisz taki program do porcka:

    
    
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {
    	DDRD = 0xFF;			
    	PORTD= 0xFF;
    
    while(1)
    {
    
    PORTD= 0xFF;
    _delay_ms(500);	
    
    PORTD= 0x00;
    _delay_ms(500);
    	
    }
    
    return 0;
    }
    
    
    


    Wczesniej ustaw w projekcie w avr studio odpowiedni procek i zegar.
    No i oczywiscie podlacz wszystko fajnie kabelkami ;) tzn te ledy na porcie D :)
    Aha i ustaw zworke JP25 tak zeby chodzil z wewnetrznym rc (jak nie zmieniales fuse bitow)
  • #7 5743028
    teraz80
    Poziom 10  
    Dzięki, kasaidolar - za pomysł podejścia do tematu. Szkoda tylko, że nie mam pojęcia o części rzeczy, o których mowa ;) No cóż, poszło się nie do tej szkoły i teraz z elektroniki jestem kapeć.
    Zrobię tak jak piszesz, ale mam jeszcze jedno pytanie. Piszesz mi, żeby podłączyć diody kabelkami do portu D. Ale zaraz - czy one na płycie uruchomieniowej już nie są podłączone ścieżkami i nie powinny działać?
    I jeszcze jedno - pisząc "kwarc" masz na myśli zegar taktujący? No to na płycie jest przecież jakiś (16MHz). Czy mam ustawiać jakieś zworki? Kurcze, sorki że piszę w ogóle tak chaotycznie, ale w temacie jestem gorzej niż osioł.
    Pozdrawiam.
  • #8 5743114
    don diego
    Poziom 32  
    teraz80 napisał:
    ...mam jeszcze jedno pytanie. Piszesz mi, żeby podłączyć diody kabelkami do portu D. Ale zaraz - czy one na płycie uruchomieniowej już nie są podłączone ścieżkami i nie powinny działać?
    I jeszcze jedno - pisząc "kwarc" masz na myśli zegar taktujący? No to na płycie jest przecież jakiś (16MHz). Czy mam ustawiać jakieś zworki?

    Widziałeś w ogóle schemat tego zestawu? Masz dobrą książkę i zestaw uruchomieniowy, który jest w niej opisany i używany do ćwiczeń. Zabierasz się do programowania od końca. Zamiast zadawać takie pytania przeczytaj w końcu tą książkę.
  • REKLAMA
  • Pomocny post
    #9 5743122
    kasaidolar
    Poziom 19  
    Jezeli masz zestaw uruchomieniowy ZL3AVR tak jak napisales wczesniej to moim zdaniem nie masz podlaczonych diodek :) Nic nie masz podlaczone :) Caly bajer w plytkach uruchomieniowych ze pod jeden procek i pod odpowiedni port tego procka podlaczasz sobie co chcesz i w ten sposob krok po kroku uruchamiasz to np wyswietlacz to diodki to jakies pomiary analogowe to jakies klawiatury - zalezy co projektant (TY) sobie wymysli. Jezeli masz tego ZL3AVR to zobacz tu: http://www.btc.pl/pdf/zl3avr.pdf - kazdy z portow jest wyprowadzony na tzw GOLD PINY i dopiero je musisz sobie podlaczyc gdzie chcesz - w twoim przypadku do diodek. Ale tak powaznie to proponuje Ci poczytac troche ta ksiazke na bank duzo Ci ona wyjasni. Piszac kwarc mam na mysli kwarc :) I rzeczywiscie moze byc 16Mhz ale w nowych atmegach ze sklepu taktowanie jest z wewnetrznego ukladu RC i ma wartosc 1Mhz :)
  • #10 5743240
    teraz80
    Poziom 10  
    Dobra Panowie! Dziękuję za wszystkie odpowiedzi. Zdaję sobie sprawę, że wyszedłem na lenia, ale - jak pisałem na początku postu - liczyłem na odpowiedź podobną do kasaidolar'a. Jak człowiek przez 15 lat pisze programy na PC'ta, a z elektroniką cyfrową miał do czynienia tyle, że czasami wymienił sobie pamięć RAM, czy dysk w kompie, to niestety zabiera się do tematu, jak pies do jeża.
    Dzięki za cierpliwość i kłaniam się w pas przed ogromem waszej wiedzy ;) (szczypta ironii? nieeee :) )
REKLAMA