Hallo Richard,
habe den befehl eingebunden.
Funktioniert aber leider so nicht.
Vitis hat mir noch den Tipp gegeben ein 2. overlay array einzubinden, um den gefundenen Datensatz komplett im 2. overlay zu zertrennen.
Das habe ich nicht hinbekommen.

Hier mal der neue Code:
Code:
$regfile = "m168def.dat"
$crystal = 18432000
$baud = 115200

 Dim Z As Byte
 Dim I As Byte

Dim S As String * 24
Dim B(25) As Byte At S Overlay


Dim Dsz As Byte
Dim Check As Integer
Dim Pos As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Dim F As Byte

'Dim Pitch As Integer At S(2) + C Overlay
'Dim Roll As Integer At S(2) + D Overlay
'Dim Gyroz As Integer At S(2) + E Overlay
'Dim Chk As Integer At S(2) + F Overlay

On Urxc Onrxd                                               'Interrupt auslösen, wenn volsändiges Zeichen geladen.
Enable Urxc
Enable Interrupts

Config Lcd = 16 * 3 , Chipset = Dogm163v5
Config Lcdbus = 4                                           'configure lcd screen
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portd.7 , Db6 = Portd.6 , Db7 = Portd.5 , E = Portd.2 , Rs = Portd.3
Waitms 100
Initlcd
Waitms 100
Display On
Cursor Off Noblink
Cls


Do

Zurueck:




If Dsz > 23 Then
   Cls
   Dsz = 0
   Pos = Instr(s , "snp")
   C = Pos + 6
   D = Pos + 8
   E = Pos + 10
   F = Pos + 12
   Dim Pitch As Integer At S(2) + C Overlay
   Dim Roll As Integer At S(2) + D Overlay
   Dim Gyroz As Integer At S(2) + E Overlay
   Gosub Werteschreiben
    End If


Loop


Onrxd:
Incr Dsz
B(dsz) = Udr
Return


Werteschreiben:
If Pos = 0 Then                                             'wenn pos =0 dann wurde snp nicht gefunden
   Goto Zurueck
   End If
  Cls

Locate 1 , 1 : Lcd "Pitch= " ; Pitch
Locate 2 , 1 : Lcd "roll= " ; Roll
Locate 3 , 1 : Lcd "gyroz= " ; Gyroz
'Lcd "pos= " ; Pos

Return

End
Kann den code mal jemand für mich berichtigen?
So gibt mir das Display für alle 3 Werte 28275 aus mit ein paar Störungen zwischendurch.
Dim in der Programmschleife ist ja auch nicht so prickelnd oder?
Ich hätte nicht gedacht, das ich an dieser Sache so hängen bleibe.