- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 6 von 6

Thema: Probleme mit der serielle Kommunikation

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.12.2004
    Ort
    Ulm
    Alter
    38
    Beiträge
    136
    Vielleicht habe ich mich einfach nur undeutlich ausgedrückt. Wie wird es in Bascom denn normalerweise umgesetzt wenn man auf Zeichen von der seriellen Schnittstelle wartet um dieses anschließend auf einem LCD auszugeben?

    Gruss Florian.

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    14.09.2011
    Beiträge
    32
    Bist Du schon weiter gekommen ?
    Ich habe das gleiche Problem zu lösen.

    Danke

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    In knapp 4 Jahren sollte ihm eine Lösung eingefallen sein.

    Ich nutze gern die ischarwaiting() Methode. Funktioniert bisher immer zuverlässig. Siehe meine Antwort in dem Thread . Statt auf 37 wird normal auf 13 geprüft. Die 37 ist nur Topic Spezifisch. Ich ignoriere normal auch die 10.


    Hier ein Kurzbeispiel:
    Code:
    $regfile = "m32def.dat"                                     ' specify the used micro
    $crystal = 8000000                                          ' used crystal frequency
    $baud = 19200
    
    
    $hwstack = 42                                               ' default use 32 for the hardware stack
    $swstack = 40                                               ' default use 10 for the SW stack
    $framesize = 40                                             ' default use 40 for the frame space
    Config Graphlcd = 240 * 64 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 6 , Mode = 8
    Enable Interrupts
    
    
    Dim Sbuffer As String * 30                                  '
    Dim Seingang As String * 30
    Dim B As Byte
    
    
    Do
    
       If Ischarwaiting() = 1 Then
            Gosub Empfangen
       End If
    
    Loop
    
    End
    
    Empfangen:
    
       B = Inkey()
       If B >= 13 Then
             If B = 13 Then
                Seingang = Sbuffer
                Sbuffer = ""
                Gosub Auswerten
             Else
                If Len(sbuffer) < 30 Then
                   Sbuffer = Sbuffer + Chr(b)
                Else
                   Sbuffer = ""
                  ' Print "...Fehler..."
                End If
             End If
       End If
    
    Return
    
    Auswerten:
       Locate 1 , 1
       Lcd Seingang
    
    
    Return
    Geändert von peterfido (30.11.2011 um 18:03 Uhr)
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress