Hallo inka,

"255/2+3" bedeutet das der Duty Cycle ca 51% lang ist. War in Gedanken wohl noch bei Brüchen und Prozent, da schreib ich schonmal sowas umständlich. Aber der Compiler rechnet das ja zur Übersetzungszeit aus, da kann man das mal machen.

Zu den for()-Schleifen, die sind so gedacht, so kann man z.B.
Code:
// Fuer die linke Seite
for(uint8_t idx = M_VL; idx < M_VR; idx++) {
    motor_stop(idx);
}

// Fuer die rechte Seite
for(uint8_t idx = M_VR; idx < M_MAX; idx++) {
    motor_stop(idx);
}
machen. Sprich die Indexe geben an, mit welcher Seite man arbeitet. Die Funktion/en im Schleifenrumpf beschreibt/en was passieren soll.

Falls Du Lust und die Zeit hast, wäre es gut, wenn Du nochmal in 'nem C-Buch oder Tutorial nachschlägst, was Arrays (dt. Felder) sind und wie man sie benutzt. Das gleiche gilt für Strukturen (struct) und Aufzählungstypen (enum), diese drei Dinge spielen hier mit den Funktionen zusammen.

Grüße
Chris