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

Atmega8 poprawnie zaprogramowana w C nie działa.

julek22 27 Gru 2009 01:19 1703 7
  • #1 7440303
    julek22
    Poziom 10  
    Witam !

    Dopiero zaczynam przygodę z programowaniem więc proszę o wyrozumiałość. Zaprogramowałem przy pomocy ISPcable 1 Atmega8 w środowisku WinAVR. Program polega na mryganiu diody co 0,5s. Niestety układ nie chce działać, po prostu nic się nie dzieje. Kostka jest sprawna, ale dla pewności podkładałem inne egzemplarze. Sprawdzałem również fuse-bity.
    Może ktoś z bardziej doświadczonych kolegów miał już taki przypadek ?
    Jeśli nie to jak przebiegało Wasze pierwsze uruchomienie atmegi8 ? Czy od razu po zaprogramowaniu układ był gotowy do pracy czy konieczne były jakieś dodatkowe zabiegi w stylu twardy reset czy coś podobnego?
    Wszelkie możliwe rozwiązania mile widziane.
    Z góry wielkie dzięki !!!
  • #2 7440322
    PiotrEtenM500
    Poziom 19  
    gdzie schemat, gdzie program?
    czy programator widzi uC?
  • #3 7440365
    julek22
    Poziom 10  
    Oto link od schematu z tym, że nie wykonywałem go osobiście tylko zakupiłem za pare groszy.
    Program zamieszczam poniżej:


    define F_CPU1000000L
    #include <avr/io.h>
    #include <util/delay.h>

    int main(void)
    {
    DDRD = 0xFF;
    while(1)
    {

    PORTD = 0xFF;
    _delay_ms(500);
    PORTD = 0x00;
    _delay_ms(500);
    }
    }

    Dodano po 51 [sekundy]:

    http://www.ajd.czest.pl/~pawel.borkowski/wyklady/avrisp/avrisp.html - Schemat ISP AVR.
  • #4 7440500
    mirekk36
    Poziom 42  
    Pytanie było o schemat do tego jak ty w ogóle podłączyłeś diodę LED, która ma migać, jak podłączyłeś zasilanie(-a) - jak podłączyłeś programator itd ..... a nie o schemat do twojego programatora sprzętowego.

    Bo i ile programator zakupiłeś (i dobrze - tylko miejmy nadzieję, że ktoś kto go sprzedawał sprawdził jak działa i że miał doświadczenie)

    A odnośnie kodu programu jaki przedstawiłeś - to program zamieszczaj w znacznikach CODE - żeby był dobrze widoczny i rób wcięcia w programie.

    generalnie program powinien działać - bez żadnych dodatkowych czynności - wgrywasz i od razu działa!

    A jeśli nie działa to niestety ale po drodze mogłeś narobić wiele dziwnych rzeczy w połączeniach, podczas programowania itd

    czym ty w ogóle programujesz???? bo przecież na pewno nie z poziomu AVRStudio! coś ci się pomyliło chyba. (No! chyba, że umiałeś sobie podłączyć np AVRDUDE pod AVRStudio i dobrze go poustawiałeś aby programował przez STK200)

    W AVRStudio to ty tylko kompilacji kodu dokonujesz. Powstaje ci plik *.HEX i to dopiero jego trzeba wgrać do procka
  • #6 7440666
    BoskiDialer
    Poziom 34  
    Nie. Dodanie return co najwyżej spowoduje, że kompilator nie będzie dawać ostrzeżeń. Swoją drogą przed define brakuje "#" a pomiędzy F_CPU a liczbą brakuje spacji (inaczej powstanie stała o innej nazwie).
  • #7 7440674
    julek22
    Poziom 10  
    Dzięki za zainteresowanie moim problemem ale,
    Wina leżała po stronie uszkodzonego kondensatora w obwodzie resetu. Po wymianie na nowy układzik działa aż miło :).
  • #8 7441839
    xury
    Specjalista automatyka domowa
    No popatrz. :) Właśnie miałem napisać, że to ten właśnie kondensator był walnięty :P
    Wywnioskowałem to z pierwszego postu. Zawsze pod koniec roku mam dar jasnowidzenia.
    Na przyszłość, jeśli chcesz uzyskać pomoc to daj program, schemat itp.
REKLAMA