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

LCD 2x16 z Atmega8, niewyraźne litery po pierwszym znaku, BASCOM – co sprawdzić?

KaJakKrzysztof 06 Lip 2007 14:59 1455 2
REKLAMA
  • #1 4055597
    KaJakKrzysztof
    Poziom 14  
    Posty: 143
    Ocena: 5
    LCD 2 * 16 (potencjometr 10K do kontrastu)
    Atmega8
    16MHz

    $regfile = "m8def.dat"
    $crystal = 16000000
    $baud = 9600
    
    Config Lcd = 16 * 2
    
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
    
    Dim Znak As String * 1
    
    Wait 5
    
    Do
    Cls
    Lcd "Podaj znak"
    Input Znak
    Print Znak
    Loop
    End


    od pewnego czasu kiedy wyswietlam napis na LCD pierwsza litera jest wyrazna, nastepna juz niestety nie, kolejna jeszcze gorzej itd. wymienilem wyswietlacz i to samo - co moze byc przyczyna? kabelki przejrzalem i nie widze zadnego przerwania hmm
  • REKLAMA
  • #2 4055659
    Jaca
    Poziom 32  
    Posty: 1332
    Pomógł: 239
    Ocena: 217
    Ponieważ w pętli DO-LOOP czyścisz i wypisujesz napis bez żadnego opóźnienia. Użyj Cls przed pętlą a w pętli przed komendą Lcd dopisz Locate 1 , 1.

    Pozdrawiam...
  • #3 4055787
    KaJakKrzysztof
    Poziom 14  
    Posty: 143
    Ocena: 5
    Bardzo dziękuję! teraz jest ok
    Może Ty będziesz wiedział bo nadal mam problem z odebraniem czegokolwiek z kompa na mojej Atmedze i LCD

    Atmega8
    16 MHz
    LCD 2*16
    MAX485 (ST485CN)

    podłączony do konwertera 232/485 a konwerter do kompa przez USB (zainstalowany usb-to-serial bridge)

    To co Atmega wysyla odbieram bez problemu natomist nie wiem jak odebrac to co wysyla komp

    $regfile = "m8def.dat"
    $crystal = 16000000
    $baud = 9600
    
    Config Pind.2 = Output
    
    Config Lcd = 16 * 2
    
    Config Serialin = Buffered , Size = 1
    
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
    
    Dim Znak As String * 1
    
    Wait 5
    
    Cls
    
    Lcd "Podaj znak"
    
    Reset Portd.2
    
    Input "Podaj znak" , Znak
    
    Cls
    
    Print Znak
    
    Lcd "Odebralem " ; Znak
    
    Do
    
    Loop
    
    End 


    cały czas na LCD widznieje napis Podaj znak_ - nie wiem co jest tym spowodowane. Do wysylania danych uzywam Pythona

    import serial
    ser = serial.Serial(8, 9600)
    ser.write("12")     
    ser.close()    
REKLAMA