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

[ATtiny2313][asm][HD44780]zanik napięcia na porcie wejściowym

marek.mm 26 Mar 2011 17:26 1626 7
REKLAMA
  • #1 9325483
    marek.mm
    Poziom 10  
    Witam,
    Próbuję zrealizować instrukcję odczytu zawartości pamięci DDRAM z pod wybranego adresu. Program jest napisany poprawnie ale występuje sytuacja, że w momencie odczytu stanu pinów DB7...DB4 z HD44780 przez uC prawidłowo odczytywane są tylko stany z DB6 i DB4. Jeśli LCD wysyła '0' z DB7 to na PIN w uC mamy faktycznie zero ale jeśli DB7 wysyła '1' to na PIN w uC mamy wartosć 0,48 V. Czyli coś tam niby jest ale to za mało. Z kolei jeśli zbadam wyjście DB7 bezpośrednio z HD44780 czyli po odłączeniu kabelka łączącego DB7 z uC to faktycznie jest tam 5V. Po podłączniu do uC tak jakby napięcie to zanika ale dlaczego zanika tylko na dwóch pinach? I dlaczego wogóle zanika? W programie oczywiście DDRB jako wejście sprawdzane zarówno ze stanem niskim i wysokim.
    Czym jest spowodowane takie zachowania? I jak to rozwiązać? Miał ktoś może taki problem?
  • REKLAMA
  • #2 9325525
    pablo19_1f
    Poziom 11  
    Myśle, że pomocna byłaby informacja do których pinów uC są podłączone piny LCD.
  • REKLAMA
  • #3 9325649
    marek.mm
    Poziom 10  
    Połączenie wygląda następująco:
    DB7 -> PORTB.7
    DB6 -> PORTB.6
    DB5 -> PORTB.5
    DB4 -> PORTB.4
    E -> PORTB.0
    RW -> PORTB.1
    RS -> PORTB.2

    A czy to może mieć znaczenie?
  • #4 9325838
    pablo19_1f
    Poziom 11  
    To wygląda tak, jak znany problem z portem C w Atmedze32 (trzeba wyłączyć JTAG'a), jednak w datasheet'cie nie widzę żadnych przydatnych informacji. Zakładam, że w przypadku podpięcia DB7->PORTB.6 na PINB.6 jest stan wysoki..?
  • REKLAMA
  • #5 9326192
    zumek
    Poziom 39  
    Próbowałeś odłączyć programator :?:
  • REKLAMA
  • #6 9326595
    marek.mm
    Poziom 10  
    Zmierzone stany na pinach są następujące:
    DB7 -> PORTB.7 -> 0.45 V
    DB6 -> PORTB.6 -> 5 V
    DB5 -> PORTB.5 -> 0.45 V
    DB4 -> PORTB.4 -> 5 V

    Po zamianie:
    DB7 -> PORTB.6 -> 5 V
    DB6 -> PORTB.7 -> 0.45 V
    DB5 -> PORTB.5 -> 0.45 V
    DB4 -> PORTB.4 -> 5 V

    Jest tak jak mówisz. Jeśli DB7 idzie na PORTB.6 to jest tam stan wysoki. No to ewidentnie coś nie tak z uC tylko co?
    Więc jak wyłączyć tego JTAG-a? Za co on wogóle odpowiada? To jest coś z fusebitami związane tak?
  • #7 9326607
    janbernat
    Poziom 38  
    ATtiny2313 nie ma żadnego JTAGA.
    Daj schemat- może coś na tych pinach jest podłączone i obciąża.
  • #8 9326614
    marek.mm
    Poziom 10  
    Rzeczywiście po odłączeniu programatora działa:) Ale dlaczego z programatorem nie działało? Dlaczego programator niejako ogranicza to napięcie na pinie? Jak to się dzieje?
REKLAMA