ich habe jetzt mal ein wenig rumgespielt und nur den Teil der Abrfage der RS232 Daten vom Fremdgerät gemacht.
Das ist der Code:
Komisch ist aber, wenn ich "Gosub Odatensenden" "aktiviere" kommt mir so einiges durcheinander und das Display zeigt zeitweise andere Datensätze aus dem Array an.Code:$regfile = "m8def.dat" $crystal = 3686400 $baud = 9600 Dim Olcd(40) As Byte 'Asciizeichenarray vom Fremdgerät Dim A As Byte Dim I As Byte Dim Oegt1 As Byte Dim Oegt2 As Byte Dim Oegt3 As Byte Dim Oegt4 As Byte Dim Ogas1 As Byte Dim Ogas2 As Byte Dim Ogas3 As Byte Dim Ogas4 As Byte Dim Orpm1 As Byte Dim Orpm2 As Byte Dim Orpm3 As Byte Dim Orpm4 As Byte Dim Orpm5 As Byte Dim Onc1 As Byte Dim Onc2 As Byte Dim Onc3 As Byte Dim Odata(16) As Byte At Oegt1 Overlay Declare Sub Odatensenden Declare Sub Odatenlesen Declare Sub Lcdvisual Config Lcd = 20 * 4 Config Lcdpin = Pin , E = Portd.3 , Rs = Portd.2 , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 Config Serialin = Buffered , Size = 45 Enable Interrupts Cursor Off Do If Ischarwaiting() = 1 Then Odatenlesen 'Gosub Odatensenden Waitms 10 Gosub Lcdvisual Loop '--------------------------- Odatenlesen: A = Inkey() If A = 128 Then For I = 1 To 41 Olcd(i) = Inkey() Next End If Oegt1 = Olcd(4) Oegt2 = Olcd(5) Oegt3 = Olcd(6) Oegt4 = Olcd(7) Ogas1 = Olcd(13) Ogas2 = Olcd(14) Ogas3 = Olcd(15) Ogas4 = Olcd(16) Orpm1 = Olcd(20) Orpm2 = Olcd(21) Orpm3 = Olcd(22) Orpm4 = Olcd(23) Orpm5 = Olcd(24) Onc1 = Olcd(32) Onc2 = Olcd(33) Onc3 = Olcd(34) Return '--------------------------- '-------------------------- Lcdvisual: Locate 1 , 6 Lcd Chr(oegt1) ; Chr(oegt2) ; Chr(oegt3) ; Chr(oegt4) ; "C" Locate 1 , 16 Lcd Chr(ogas1) ; Chr(ogas2) ; Chr(ogas3) ; Chr(ogas4) Locate 2 , 6 Lcd Chr(orpm1) ; Chr(orpm2) ; Chr(orpm3) ; Chr(orpm4) ; Chr(orpm5) Locate 2 , 16 Lcd Chr(onc1) ; Chr(onc2) ; Chr(onc3) ; "V" Return '---------------------------- '---------------------------- Odatensenden: Baud = 4800 Print "Orbitdaten" ; Chr(odata(1) , 16) Baud = 9600 Return '-------------------------------- End
Wenn ich nun in meine (schon recht) vorhandene komplexe Anwendung diesen Teil hier implementiere dann hab ich glaub ich ein Problem. Wenn es jetzt schon mit nicht richtig funktioniert.
Oder wo habe ich den Fehler drin? Ist das nun ein Timingproblem?







Zitieren

Lesezeichen