Moin Moin!
ich habe meinen Fehler noch selber finden können. Bei einer Zeichenfolge von mehr als 9 Zeichen stimmt der Platz nicht mehr, von dem ich dann den String hole.
neuer Code:
Grüße MATCode:If Uart_3_rxd = 1 Then Uart_3_rxd = 0 Rxstring = Read_string() 'inhalt Rxstring <\r><\n>+IPD,0,10:xxxxxxx<\n><\r><\n> Esp_str_count = 0 Esp_uni_byte(1) = Instr(rxstring , "+IPD") ' ist im string die richtige info If Esp_uni_byte(1) > 0 Then Esp_uni_byte(1) = Val(rxbyte(10)) ' anzahl der gesendeten zeichen in byte schreiben Esp_uni_byte(2) = Charpos(rxstring , ":") ' startpunkt für zu suchendes kommando suchen Esp_uni_byte(2) = Esp_uni_byte(2) + 1 ' start komando ist stelle +1 (nach doppelpunkt) Esp_uni_byte(1) = Esp_uni_byte(1) - 1 ' line feed hinter kommando abziehen App_command = Mid(rxstring , Esp_uni_byte(2) , Esp_uni_byte(1)) ' aus dem empfangenen string kommando-daten entnehmen Select Case App_command ' kommandodaten auswerten Case "xxx" : Print #2 , "app_command " ; "garten!!!" Case "xxx" : Print #2 , "app_command " ; "Rasen vorn an" Case "xxx" : Print #2 , "app_command " ; "Rasen vorn aus" Case Else : Print #2 , "error " End Select End If End If







Zitieren
Lesezeichen