|
 |
 |
 |
|
|
c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
Absender: Achim Pankalla
Datum: Mo, 21.08.2006 21:52:57
In-reply-to:
<001601c6c2bf$ac1f1ca0$1401a8c0@user08>
References:
<001601c6c2bf$ac1f1ca0$1401a8c0@user08>
hallo timo,
klar hast du recht, das die fkt. wirklich eine verzögerung erzeugte und
zwar dann wenn durch den übergabewert ein überlauf in die nächste
sekunde erzeugt wurde. ausserdem waren die werte die im bisherigen
quellkode benutzt wurden nur sehr klein, so dass dies vielleicht auch
nicht viel ausmachte. mir war es nur bei meiner kalibrierungsfunktion
aufgefallen.
aber dein vorschlag für die warteschleife macht mir etwas bauchschmerzen
in einen solchen system wie den bot.
du wartest da auf einen exakten zeitwert. der prozessor hat zwar eine
zykluszeit von 179us, wenn ich mich nicht täusche und das müsste zwar
für die nops bei weiten reichen, aber man darf die isr-routinen nicht
vergessen, die ja aktiviert bleiben. diese werden doch für die timer und
das aktualisieren der sensor-werte (variablen) benutzt. sollte dadurch
der exakte zweitwert von den timern nicht bestimmt werden und die
millisekunde übersprungen werden, so wird delay-fkt nie enden oder habe
ich ein denkfehler zu späten stunde?? deshalb habe ich auch diese
zweistufige schleife gewählt.
gruss
achim
Timo Sandmann schrieb:
Hallo,
aus zwei gründen ging die delay-fkt nicht.
1) die warte-schleife musste auf grund der bedingungen immer
sofort abbrechen!
Naja das stimmt so nicht ganz, aber die Bedingung ist dort in der Tat falsch
(es wird fälschlicher Weise bereits abgebrochen, sobald der Sekunden- _oder_
Millisekundenanteil erreicht ist).
Ich würde die Bedingung einfach auf
while ((s_stop != timer_get_s()) || (ms_stop != timer_get_ms())){asm
volatile("nop");}
ändern (|| anstatt &&).
2) die timer-isr wird zu spät initialisiert.
Das ist richtig, das Initialisieren muss natürlich vor der ersten Verwendung
von delay() passieren.
Viele Grüße,
Timo
_______________________________________________
ct-bot-entwickler Mailingliste
ct-bot-entwickler@xxxxxxxxxxxxxxxxx
http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler
|
|
|