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:
Code:
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
Grüße MAT