- fchao-Sinus-Wechselrichter AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Teil eines über UART empfangenen Textes ignorieren?

  1. #1

    Teil eines über UART empfangenen Textes ignorieren?

    Anzeige

    Powerstation Test
    Aaaaalso, ich bekomme über UART von einem Modem einen Text, der grösste Teil davon ist unwichtig.
    Hier mal der Text:

    +CMGL: 1,"REC UNREAD","xxxxxxxxxx",,"09/08/04,15:50:23+08"

    Test1

    Alles was auf der 1. Zeile steht ist für mich unwichtig, nur was in der 2. Zeile steht (hier eben als Beispiel "Test1") ist für mich wichtig. Wie bekomme ich Bascom dazu, die erste Zeile - die Anzahl der Zeichen ist ja immer dieselbe, zu ignorieren und die 2. Zeile in eine Variable zu schreiben?

    Vielen Dank für Anregungen und Codeschnippsel schon im Voraus!

    Liebe Grüsse

  2. #2
    ich glaub ich komm dem ganzen langsam auf die schliche, hab mal in der Bascom hilfe nachgeschaut:

    http://avrhelp.mcselec.com/index.html?string.htm

    kanns nur noch nicht ganz richtig anwenden, das heisst ihr dürft gerne weiter eure anregungen schreiben aber einfach als zeichen das ich auch dran bleibe

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Was hast Du denn schon? Es ist einfacher bestehendes zu verbessern, als komplett neu anzufangen
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  4. #4
    ah, hi peterfido

    Aaaaalso, mein bescheidener anfang:

    ACHTUNG: Habe die ganze Konfigurationssache obendran zwecks Platzeinsparung weggelassen

    Hier mein Code:

    Code:
    Cls
    Dim B1 As String * 10
    B1 = String(9 , 10)
    Lcd B1
    End
    Also eigentlich sollte dieses BEISPIEL doch auf den Text warten, die ersten neun Zeichen rauspicken und die dann aufm LCD ausgeben?

    edit-----

    aufm LCD werden 9 schwarze vierecke angezeigt, unabhängig von der Kontrasteinstellungen

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Sorry, aber da fehlt mir so einiges...
    Nicht mal eine Schleife finde ich da...
    Auch keine Empfangsroutine...

    Falls das im ersten Post eine Telefonnummer ist, würde ich die unkenntlich machen...
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Probier mal das. Fehlt noch die LCD init...
    Code:
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    
    Dim B As Byte
    Dim Empfang As String * 20
    
    
    Do
    B = Inkey()
    If B <> 0 Then
       If B = 13 Then
          If Left(empfang , 4) = "+CMGL" Then
              nop
          Else
             Cls
             Locate 1 , 1
             Lcd Empfang
          End If
          Empfang = ""
    
       Else
          If B <> 10 Then
             Empfang = Empfang + Chr(b)
          End If
       End If
    
    End If
    
    
    Loop
    
    End
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    31
    Beiträge
    1.578
    Probier mal das:

    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 19200
    
    
    
    Dim Text As String * 67
    Dim Auswahl As String * 5
    
    Text = "+ Cmgl : 1 , REC UNREAD , xxxxxxxxxx , 09/08/04,15:50:23+08 , test1"
    
    
    
    Do
    
    Auswahl = Mid(text , 63 , 5)
    
    Print Auswahl
    
    
    Loop
    
    End
    Gruß
    Chris

  8. #8
    Aber eigentlich kann doch mein Programm so nicht ganz falsch sein da ich ja nur 9 anstatt 10 "Kästchen" auf dem LCD rauskriege?!
    An was liegt das aber das es kästchen sind und nicht buchsataben oder Zahlen?!

    Lg

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Woran das liegt, kann Dir so ohne Code keiner sagen.... Mir fehlt auch die Motivation alle möglichen Ursachen dafür zu posten... Hast Du die anderen Vorschläge jetzt schon versucht? Funzt das LCD, wenn du ein "Hallo" oder so ausgibst?

    Am besten die Vorschläge testen und/oder kompletten Code einstellen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  10. #10
    ja, die vorschläge von euch hab ich (natürlich) getestet, ohne erfolg

    Das LCD geht, das hab ich schon ausprobiert

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

12V Akku bauen