hallo Wo2le,

bei deinem programm habe ich eine stelle gefunden, die ich nicht verstehe:
Code:
      if (speedl > 255)
      {
         speedl = 255;
         speedr = speedr - (speedl + 255);
      }
du setzt doch zuerst speedl auf 255, dann addierst du zu speedl 255, das ergibt 510, ziehst diesen wert von speedr ab und speicherst ihn in speedr

dh. in speedr steht dann ein wert, der speedr -510 ist, also zwischen -510 und -255. diese zahl kann man doch nicht in ein unsigned char speicher, und hatt in dienem programm auch keinen sinn.

oder habe ich dein programm falsch verstanden?