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

[ATMega 8] Dziwne zachowanie stanów H/L na portach I/O

23 Maj 2011 18:17 2012 8
  • Poziom 17  
    Witam wszystkich.
    Na początki zabawy z elektroniką cyfrową, skonstruowałem sobie moduł testowy dla ATMega 8 z procesorem wg poniższego schematu:
    [ATMega 8] Dziwne zachowanie stanów H/L na portach I/O [ATMega 8] Dziwne zachowanie stanów H/L na portach I/O [ATMega 8] Dziwne zachowanie stanów H/L na portach I/O

    I napotkałem na pewien problem:
    Otóż na pinach portów I/O (B,C,D) w stanie niskim występuje napięcie 2.30V względem masy. Przy wyzerowanym flash'u jest podobnie. Jeżeli zaprogramować podawanie stanu wysokiego załóżmy na PB0, to na nim napięcie względem masy jest typowe dla stanu wysokiego - 5V, na pozostałych 2,30V.
    Pomiary ogólne jakie udało mi się wykonać, wskazują na prawidłowe podłączenie procesora do zasilania. Na VCC i AVCC jest napięcie zasilania, na GND jest masa, na resecie jest też 5V, czyli stan wysoki. Kondensatory 100n są wszędzie, gdzie powinny być. Procesor bez problemu się programuje.
    Czy to normalne zachowanie dla ATMegi? Gdzie jeszcze szukać błędów?
  • Poziom 32  
    A skąd wiadomo że tam ustawiasz stan niski?
  • Poziom 17  
    chociażby przy wsadzie z mrugającym LED. Jak ustawiam zmianę stanu pinu z opóżnieniem 2000 ms, to w stanie wysokim jest 5V a w niskim jest zmiana na 2,30V.
    Myślałem, że miernik mi padł, więc podłączyłem LED, i w stanie wysokim świecił, w niskim też, ale ledwo ledwo.
  • Poziom 29  
    Nie przestawiasz portów w tryb wyjścia. Domyślnie pracują one w trybie wejścia i wpisując "1" lub "0" włączasz jedynie rezystor podciągający. Więc stan wysoki to 5V a stan niski to stan nieustalony, np coś w okolicach 1/2 VCC (zależnie od warunków pomiaru).
  • Poziom 17  
    Program jest wzięty z książki "Mikrokontrolery AVR, Język C, Podstawy programowania". Definiuję jako wyjście poleceniem DDRC.
  • Pomocny post
    Poziom 23  
    Zdecyduj się:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Kod: c
    Zaloguj się, aby zobaczyć kod


    mam nadzieję że widzisz błąd.
  • Poziom 17  
    Kurcze, przeglądałem kod kilka razy, dopiero jak ktoś wskaże błąd, to się wydaje być ewidentny. miało być DDRB...
    Dziękuję za pomoc. Czasami jednak potrzeba, żeby ktoś jak "koniowi" pokazał, gdzie jest błąd.

    P.S. Poprawiony program działa w 100%