Ja deswegen würde ich das Byteweise machen.
Also das erste Byte ist Wert1, usw.
Dadurch spart man sich alle Trennzeichen. Durch Start und Stop bits wird der Parameterzähler resetet und controlliert. Wenn er sich beim Stopbit verzählt hat, zählt der gesamte Durchgang nicht und es wird auf den nächsten gewartet.
Zudem brauchst du nichts mehr umrechnen und keine Strings zerlegen. Das einzige Problem, wäre wenn einer der Werte > 255 ist. Dann musst du 2 Bytes verwenden und die dann passend zusammenrechnen. Mit 2 Bytes kommst du erstmal bis 65535. Bei 3Bytes bis 16,7mio.
Wenn alle Werte in ein Byte passen, solltest du schon mit 4800Baud auskommen. Ich würde aber mindestens 9600 oder 19200 nehmen.
Achja zu deinem Problem mit dem Fusen, um den Controller auf 16Mhz laufen zu lassen, würde ich mal die Suche oder eine Suchmaschine befragen. Du bist nicht der erste der das Problem hat und es gibt viele gute Anleitungen dazu.
Gruß Daniel
Lesezeichen