ich habe ein seltsames Verhalten mit der Empfangsroutine.
In dieser Routine sende ich ein "?"+#CR zu einem uC. Der uC sendet jedes byte
wieder zurück und hängt nach dem CR noch ein LF dran. Nach ca. 1ms schikt dann der uC noch
ein string mit "SL1"+#CRLF hinterher.
Die Empfangsroutine liefert aber nur das "?"+#CR zurück; das "SL1..." fehlt.
Wenn ich beim Echo nur das "?" zurücksende (ohne das #CRLF dann liefert die Empfangsroutine das
"SL1"#CR. Beide messages bekomme ich nicht !!
Was ist zu tun um beide Meldungen zurück zubekommen also "?"+#CRLF+"SL1"+#CRLF...
Code: Alles auswählen
Procedure connect(buffer$)
WriteSerialPortString(0, buffer$,#PB_Ascii)
Delay(10)
If AvailableSerialPortInput(0) > 0
Puffer$ = Space(AvailableSerialPortInput(0))
ReadSerialPortData(0, @Puffer$, AvailableSerialPortInput(0))
If FindString(Puffer$,"SL1",0,#PB_String_NoCase)
ProcedureReturn #True
Else
MessageRequester("Fail","No Target found: ")
ProcedureReturn #False
EndIf
Else
MessageRequester("Fail","serial port error ")
ProcedureReturn #False
EndIf
EndProcedure
Code-Tags hinzugefügt
08.04.2013
RSBasic