Hi, ich hab jetzt was geschrieben:
Die Bedingung Len(serial_in) = Data_len ist dummerweise nie erfüllt, schätz mal weil die Typen nicht übereinstimmen. Wie wandle ich die denn um? Einfach Integer = String scheint nicht zu funktionieren.Code:Dim Incoming_ascii As Byte Dim Incoming_char As String * 1 Dim Serial_in As String * 255 Dim Temp_Byte As Byte Dim Data_str As String * 255 Dim Header_str As String * 2 Dim Data_len As String * 1 Incoming_ascii = 0 Incoming_char = "" Serial_in = "" Temp_Byte = 0 Data_str = "" Header_str = "" Data_len = "" On Urxc Onrxd Enable Urxc Enable Interrupts Main: Goto Main Onrxd: Incoming_ascii = Udr Incoming_char = Chr(incoming_ascii) If Incoming_char = ">" Then Serial_in = Serial_in + Incoming_char If Len(serial_in) > 2 Then Temp_byte = Len(serial_in) - 2 Data_str = Left(serial_in , Temp_byte) Header_str = Right(serial_in , 2) Data_len = Left(header_str , 1) If Len(serial_in) = Data_len Then Print Len(serial_in) Print Data_len Print Data_str Print Header_str End if Serial_in = "" Else Print "String < 2" Serial_in = "" End If Else Serial_in = Serial_in + Incoming_char End If Return
Kann sich jemand den Code mal im groben und ganzen anschaun und mir sagen ob ich irgendwas wichtiges vergessen habe? Oder man was besser machen kann? Wäre echt super !!!
mfg
jagdfalke







Zitieren

Lesezeichen