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

[atmega16][bascom] atmega16 + siemens s55 + uart

gemis 19 Wrz 2009 22:37 3342 4
REKLAMA
  • #1 7036316
    gemis
    Poziom 2  
    Witam, to moje pierwsze podejście do BASCOMA, więc prosiłbym o wyrozumiałość.
    Podłączam atmege16 z zewnetrznym kwarcem 16MHz ( skonfigurowany poprawnie ) do SIEMENS S55. Predkosc 19200.

    Wysylanie komend działa poprawnie. Telefon dzwoni itd. Problem jest natomiast z kanałem zwrotnym.

    Próbuje wyświetlić na LCD odpowiedźi telefonu na komendy AT i np sygnal RING.
    Jednak się to nie udaje.


    
    Cls
    
    Dim A As Byte
    Dim B As Byte
    Dim C As String * 200
    
    
    Do
    
    B = Ischarwaiting()
    
    If B = 1 Then Gosub Odbierzuart
    
    Loop
    
    End
    
    
    Odbierzuart:
    C = ""
    Do
    A = Inkey()
    C = C + Chr(a)
    Lcd C
    B = Ischarwaiting()
    
    Loop Until A = Chr(13) Or B = 0
    
    
    Return




    Proszę o pomoc, podłączenia są ok ( w C wszystko działa).
  • REKLAMA
  • REKLAMA
  • #3 7040636
    pixel7
    Poziom 23  
    hose2 napisał:
    Witam
    gemis napisał:
    C = C + Chr(a)

    Błąd - zmienna A już jest znakiem (powinno być C = C + A)

    Pozdrawiam


    Błąd - przeczytaj w helpie co zwraca komenda inkey.

    Co do problemu - daj bufor sprzętowy, masz wszystko w pliku który ściągnąłeś.
    A samo LCD dopiero po zakończeniu pętli LOOP i zebraniu całego przekazu z telefonu.
  • REKLAMA
  • #4 7041465
    gemis
    Poziom 2  
    Powodem było uszkodzenie atmegi. Na nowej wszystko ok. Dziękuje za pomoc :)
  • #5 7042144
    hose2
    Poziom 17  
    pixel7 napisał:
    Błąd - przeczytaj w helpie co zwraca komenda inkey.

    Zwracam honor, rozpędziłem się. W innych basic-ach jest to znak, w bascom-ie kod ASCII pierwszego znaku.

    Pozdrawiam
REKLAMA