Hallo Mooses78,
ist relativ einfach.

Es sieht tatsächlich so aus als ob die Variable immer mit FALSE initialisiert würde. Das Geheimnis ist das STATIC (natürlich klein geschrieben) vor ALLEN 3 Varaiblen:

static unsigned char tmp[2],flag[2],toggle=FALSE;

Solche, mit static erzeugten, Variablen werden GENAU EINMAL initialisiert und dann NIE wieder.
Das war's schon. C hat halt so seine Geheimnisse


Zitat Zitat von stochri
Wenn Ihr es ändern wollt, könnt Ihr es ändern.
OK, ich gebe dir Recht, dass das ganze Rechenzeit und Speicher kostet. Also bleibt es so und ich werden die Doku anpassen.

Oder gibt es sonst noch andere Vorschläge??

Meiner Meinung nach macht es nicht allzu viel Sinn, die Funktion MotorSpeed komplett durch die neue Funktion SetMotorPower zu ersetzen. Die original Funktion MotorSpeed ist (mittlerweile) eine inline-Funktion und benötigt dadurch nur extrem wenig Platz. Sie kann also aus Gründen der Kompatibilität ruhig drin bleiben.