Guten Abend,
muss auch noch ne one wire Übertragungsvariante beisteuern
Sie kann Werte von Strings unterscheiden; beide Typen können frei vorgegeben werden.
Sie müssen mit <SPACE> voneinander getrennt werden und ein einzelner Space muss am Schluss nach einer Information platziert werden. (Space wird hier von der Funktion "partition" verwendet
Im selben String-Eingabefeld kann ein einzelner char (z.B 0 oder 1 für binär), ein String oder auch ein (float)Wert, aber auch mehrere Typen hintereinander, auch gemischt stehen. Wichtig nur, dass ein SPACE dazwischen UND am Ende des Eingabefeldes steht !
Im Beispiel muss dieser SPACE in allen Feldern noch eingetippt werden, irgendwie werden die Endspaces nicht gespeichert. (Die Spaces können natürlich auch direkt im Stringadder programmiert werden.)
Die Felder werden in einen grossen String aufaddiert (wer weiss, wie lange dieser in PL sein darf ?).
Ein loop tastet Zeichen für Zeichen (mit index) ab; zwischen jedes Zeichen wird ein delimiter (hier wurde ":" gewählt) eingearbeitet.
Dieser dient dazu, Zeichen für Zeichen synchron in den Buffer reinzuspeichern (sozusagen als clock)
Damit jede Übertragung frisch beginnt, wird zu Beginn ein Löschzeichen (hier wurde "/" gewählt) gesendet. Dieses, wenn erkannt, führt zum Löschen des Bufferinhalts. Es kann auch zwischen drin stehen.
Viel Spass: Grüsse von Thomas