jetzt ist bei diesem Thema schon über ein Monat vergangen und ich komme nicht weiter.
Hab es mit ONRXD , Ischarwaiting/waitkey, ringpuffer usw. probiert.
Ich bekomme erst nach dem zweiten mal eine Antwort.
d.h. wenn der Code zum zweiten mal empfangen wird geht die Antwort raus.
Was mach ich falsch ???
Es ist wie wenn noch eine Bestätigung fehlen würde das jetzt der Code richtig im Speicher liegt.
Mit diesem Code funzt es noch am besten:
(es sind ein paar unnütze Zeilen drinn, kommt von der probiererei)Code:$regfile = "m8def.dat" $crystal = 3686400 'Quarz: 3.6864 MHz $baud = 9600 'Baudrate der UART: 9600 Baud Config Com1 = Dummy , Synchrone = 0 , Parity = Even , Stopbits = 1 , Databits = 8 , Clockpol = 0 Config Serialout = Buffered , Size = 20 Config Serialin = Buffered , Size = 20 Dim B As String * 7 Dim Check1 As String * 7 Dim Check2 As String * 7 Dim Check3 As String * 7 Dim Check4 As String * 7 Dim Check5 As String * 7 Dim Check6 As String * 7 Dim Check7 As String * 7 Dim Msg(7) As String * 1 Dim I As Byte Dim C As Byte Enable Interrupts I = 0 Do Anfang: C = Ischarwaiting() For I = 1 To 7 If C <> 0 Then Msg(i) = Waitkey() Next I Check1 = Chr(msg(1)) + Chr(msg(2)) + Chr(msg(3)) + Chr(msg(4)) + Chr(msg(5)) + Chr(msg(6)) + Chr(msg(7)) Check2 = Chr(msg(7)) + Chr(msg(1)) + Chr(msg(2)) + Chr(msg(3)) + Chr(msg(4)) + Chr(msg(5)) + Chr(msg(6)) Check3 = Chr(msg(6)) + Chr(msg(7)) + Chr(msg(1)) + Chr(msg(2)) + Chr(msg(3)) + Chr(msg(4)) + Chr(msg(5)) Check4 = Chr(msg(5)) + Chr(msg(6)) + Chr(msg(7)) + Chr(msg(1)) + Chr(msg(2)) + Chr(msg(3)) + Chr(msg(4)) Check5 = Chr(msg(4)) + Chr(msg(5)) + Chr(msg(6)) + Chr(msg(7)) + Chr(msg(1)) + Chr(msg(2)) + Chr(msg(3)) Check6 = Chr(msg(3)) + Chr(msg(4)) + Chr(msg(5)) + Chr(msg(6)) + Chr(msg(7)) + Chr(msg(1)) + Chr(msg(2)) Check7 = Chr(msg(2)) + Chr(msg(3)) + Chr(msg(4)) + Chr(msg(5)) + Chr(msg(6)) + Chr(msg(7)) + Chr(msg(1)) B = Chr(&H00) + Chr(&H05) + Chr(&H08) + Chr(&H7d) + Chr(&H00) + Chr(&H70) + Chr(&H00) If B = Check1 Or B = Check2 Or B = Check3 Or B = Check4 Or B = Check5 Or B = Check6 Or B = Check7 Then Goto Klappen: Else Goto Anfang End If End If Loop Klappen: Waitms 200 Printbin &H3F ; &H06 ; &H00 ; &H0C ; &H01 ; &H39 ; &H01 ; &H0C ; Waitms 200 Printbin &H3F ; &H06 ; &H00 ; &H0C ; &H02 ; &H39 ; &H01 ; &H0F ; Goto Anfang End







Zitieren

Lesezeichen