Nachtrag:

Hi radbruch!

Danke für Deine Antwort!

"
Könnte es sein, dass die Probleme nicht vom
Flashen verursacht werden, sondern schlicht
dein Programm nicht funktioniert? Zeig uns
doch mal dein Programm und erkläre uns, ...
"
Du hast leider nicht richtig gelesen!;o((

Das gleiche Prog. "test.c" hat vor 'ner Woche
funktioniert. Dann wurde in die "asuro.c"
das bei "int encoder[2]" vergessene
"volatile" eingefügt und dann nochmals
kompiliert; und da hat nur noch der Motor
gebrummt.

Den Code habe ich leider nicht hier, da er
auf 'nem anderen PC schläft!( Aber er hat
als Kern neben Init(); und EncoderInit();
MotorDir(FWD,FWD);
MotorSpeed(100,100);
while(encoder[0]<200);
MotorSpeed(0,0);
....

Die Einfach-Test-Aufgabe war, nach 'ner
Strecke - hier ca. 40 cm - anzuhalten.

Wir hatten nämlich zuvor anstatt mit '200'
mit '500' experimentiert, was aber nicht
ging. Darauf hatte ich bei Arexx nach-
gefragt und von dort kam der Hinweis mit
dem " _volatile_ int encoder[2]"!

Ein anderes Prog. war ein Versuch die
Funktion 'go()' etwas zu modifizieren:
Wir hatten den Asuro mit 'ner "for"-
Schleife beschleunigt; allerdings hielt
er zwischendrin jedesmal kurzfristig an.
Da haben wir das 'MotorSpeed(BREAK,BREAK);'
und das 'Msleep(1);' rausgeschmissen und
ein 'go1()' draus gemacht.
Beim ersten Versuch fuhr er phantastisch
geradeaus und kam fast zum Ausgangspunkt
zurück! (mit einer Beschleunigung in
Vorwärts- und Rückwärtsrichtung!)

Ne Woche später fuhr er 'nen großen Bogen
und der Ausgangspunkt wurde bei der Rück-
fahrt um fast einen Meter verfehlt (bei
einer Strecke von 3 Metern!)

Ein drittes Prog. funktionierte beide Male
korrekt!

Für mich sind das nicht erkannte Übertra-
gungsfehler, die das Programm manchmal
etwas verfälschen und manchmal überhaupt
nicht mehr funktionieren lassen!

cu Helmut