Hallo

Bei der Übertragung wird scheinbar blockweise auch eine Prüfsumme gebildet und übertragen. Das nach dem Speichern der Daten diese nochmals geprüft werden glaube ich nicht.

Zur Fehlfunktion deines Programms:

Die PollSwitch-Abfrage auf " gleich 0 " ist sehr unzuverlässig. Grundsätzlich sollten die Taster aber auch mit den richtigen Werten erkannt werden(1,2,4,8,16 und 32).

Die Funktion SerWrite() erwartet einen String als ersten Parameter, du übergibst aber ein char. Ich bin zwar auch Neuling, habe aber inzwischen festgestellt, dass der asuro das schluckt, dann aber spinnt(vermutlich überschneidungen der Speicherbereiche).

So liesen sich deine Erscheinungen erklären: Zuerst immer zurück weil PollSwitch() ungenau, dann vorwärts wegen Datentypenfehler.

Vielleicht liege ich ja auch falsch..

Zu deinem Nachtrag: Ja, der reagiert empfindlich, vor allem wenn die Taster-Abfrage noch nicht exakt "kalibriert" ist und dann noch der höhere Strom der am Boden höher belasteten Motoren dazu kommt.

Gruß

mic