c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

RE: [ct-bot]Patch für Fehler in delay-Funktion

Absender: Timo Sandmann
Datum: Fr, 18.08.2006 14:13:10
In-reply-to: <44E46A9B.3010608@xxxxxx>


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