Forum: Mikrocontroller und Digitale Elektronik Suche spezial Delayfunktion


von Martin Hoffman (Gast)


Lesenswert?

Ich suche eine Verzögerungsfunktion der ich als parameter die gewünschte
verzögerung in µs oder ms übergeben kann.

hat einer sowas schon mal irgendwo gesehen ?

[MFG]
Martin

von Werner (Gast)


Lesenswert?

Welche Programmiersprache???

von Martin Hoffman (Gast)


Lesenswert?

C natürlich :)
ich verwende AVR GCC

von *USER* (Gast)


Angehängte Dateien:

Lesenswert?

hab sowas ähnliches für m16c - Prinzip kannst dir abgucken - musst eben
noch auf AVR umbasteln. Guck dirs oben Im Anhang einfach mal an ...

von OldBug (Gast)


Lesenswert?

Hi zusammen...
@*USER*: Das Beispiel ist nicht gut! Du legst da eine Funktion an, die
laut definition einen int-Wert nach beendigung zurückliefert. Du
lieferst aber keinen Wert zurück. Also entweder fehlt das das "return
(value);" oder Du musst die Funktion als void deklarieren.

Gruß,
Patrick...

von Wolf-Ruediger Juergens (Gast)


Lesenswert?

Hallo
Schau doch einfach mal ins avr-libc-user-manual. Unter 'Related
Pages'->'Inline Asm'->C-Stub-Functions. Da wird eine Delay-Routine
vorgestellt der man den Wert in ms nur zu übergeben braucht.

Gruß - Wolf

von Peter D. (peda)


Lesenswert?

Mit Delays (Nichtstun) >1ms sollte man aber nur äußerst sparsam
umgehen.

Damit versaut man sich nämlich total die Echtzeitfähigkeit und
Erweiterbarkeit seiner Programme.


Besser ist da ein Scheduler, der Aktionen verzögert startet ohne dabei
kostbare Rechenzeit zu vernichten.


Peter

von Wolf-Ruediger Juergens (Gast)


Lesenswert?

Ist schon klar Peter, nur in meinem speziellen Fall brauchte ich eine
feste Verzögerung von 5ms und dann mußte ich die Ports wieder tristate
schalten. (bistabile OMRON-Relais zwischen 2 Port-Pins)
In dieser Zeit darf/muß auch nichts anderes passieren.
Gruß
Wolf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.