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

Atmega8, programowanie problem

dryna 24 Wrz 2010 21:21 2827 11
  • #1 8546979
    dryna
    Poziom 10  
    Kupiłem Atmege8 i programator http://www.kamami.pl/?id_prod=5060900. I kompiluje program:
    
    /* 8 diod LED przłączonych do portu D */
    /* ATmega 1MHz */
    
    #define F_CPU 1000000L
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {   
       /* Wszystkie linie portu D będą wyjściami */
       DDRD = 0xFF;  /* 0xFF binarnie 1111 1111 */
    
       /* Początek nieskończonej pętli */
       while(1)
       {
          PORTD = 0xaa;    /* 0xaa binarnie 1010 1010 */
          /* opóźnienie 0.33 sek. */
          _delay_ms(330); 
           PORTD = 0x55;    /* 0x55 binarnie 0101 0101 */
          /* opóźnienie 0.33 sek. */
          _delay_ms(330);
       }
    }
    

    (do wyjść portu d podłączam diody z rezystorami 1k)
    dalej wgrywam tylko plik .hex do pamięci flash Atmega8 i nie działa, żaden z pinów nie ma wysokiego napięcia jedynie Acc i Vcc oczywiście :(. Kompiluje za pomocą winavr. Jeszcze jak sprawdzam pamięć flash po zapisaniu programu to wyświetla mi się Flash was written inncoretcly! Czy trzeba co wgrywa na eeprom by program poszedł jaki bios napisać czy coś ??
  • #2 8547070
    _Robak_
    Poziom 33  
    Skoro program nie jest zapisany poprawnie we flashu to jak ma działać. Do EEPROMu nic nie musisz wgrywać. Acc - nie ma takiego pinu.
  • #3 8547135
    dryna
    Poziom 10  
    Po odczytaniu flasha coś tam się zapisało, a o pin chodziło mi avcc przepraszam za błąd. Jeszcze dla pewności jedno pytanie: wystarczy plik .hex zapisać do pamięci flash te inne pliki z rozszerzeniami .o . sym itp. są tylko kompilatorowi przy pracy potrzebne ??
  • #5 8547981
    dryna
    Poziom 10  
    chyba mam problem z programatorem :(, bo zapisałem ten plik diody.rar i nie działało znowu i odczytałem flasha i nie zapisał kilku lini :(. Więc albo coś chyba lipnego jest z programatorem, albo pamięciom flash.
    Link
    (plik linkiem zamieszczam, bo nieudało mi się załącznika dodać :pp)
  • #6 8548096
    chablak
    Poziom 11  
    Witam,
    A jak podłączyłeś programator do układu z diodą? Nie pomyliłeś czasem pinów? albo nie pominąłeś jakiegoś?
  • #7 8548638
    dryna
    Poziom 10  
    programtaor podłączyłęm najpierw do samego atmega8 na zlutowanej płytce Link, a następnie podłączyłem atmega8 na płytce stykowej do diod. Na stykowej podłączyłem pin Vcc do plusa zasilanie z kondensatorem filtrującym, i oba piny Gdn do masy i zrobiłem jeszcze układ reset. Zasilanie zasilaczem 5volt stabilizowany.
  • #8 8548776
    adi84_84
    Poziom 14  
    Zrób sobie stk200 (elementy góra 5zł) i spróbuj coś zaprogramować będziesz wiedział przynajmniej czy Atmega działa. Aha a jak FUSE BITY - nic przy nich nie zmieniałeś?
  • Pomocny post
    #9 8548780
    chablak
    Poziom 11  
    Z tego co widzę układ do programowania jest do samodzielnego montażu, w takim razie sprawdź poprawność połączeń, najlepiej miernikiem czy do podstawki pod atmege8 dochodzą piny SPI tak jak powinny, zasilanie itp. Jeżeli będzie wszystko ok to czy wgrałeś firmware'u w wersji 1.2? Tak jak to zostało zaznaczone na stronie z programatorem i oprogramowaniem do niego?

    ps. masz LPT i możliwość sprawdzenia czy da się wgrać program do atmegi przez programator np. stk200?
  • #10 8549260
    dryna
    Poziom 10  
    przy fusr bitach nic nie zmieniałem. A z tym stk200 nie mam portu lpt, ale mam przejściówke lpt na usb tylko, że do warszawy bym musiał jechać po programator, więc dopiero w poniedziałek, przy okazji atmege8 nową kupie i na niej sprawdzę też. A podłączenia na tym kicie od avt z vcc i gdn są dobre sprawdzałem miernikiem, a inne to nie wiem jak sprawdzić, bo przecież ich stany będą się zmieniały tylko przy programowaniu. Spróbuje jeszcze na płytce stykowej podłączyć atmega8 z programatorem. firmware'u w wersji 1.2 wgrałem.
  • #11 8549363
    chablak
    Poziom 11  
    możesz sprawdzić pozostałe, mi chodzi bardziej o to czy gniazdo SPI jest prawidłowo połączone z podstawką pod atmege, a mianowicie:

    Gniazdo SPI podstawka Atmega8
    1 - 17
    2 - 7
    5 - 1
    4,6,8,10 - GND (8)
    7 - 19
    9 - 18


    jeżeli dobrze pamiętam to tak jakoś powinno być. Sprawdź to połączenie bez zasilania i podłączenia jakiegokolwiek.
  • #12 8556378
    dryna
    Poziom 10  
    Dziękuje za odpowiedzi :PP problem rozwiązałem :D nie przestawiłem FUSE BIta bodlevel ;pp teraz już wszystko działa :D
REKLAMA