www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Suche spezial Delayfunktion


Autor: Martin Hoffman (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Programmiersprache???

Autor: Martin Hoffman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C natürlich :)
ich verwende AVR GCC

Autor: *USER* (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 ...

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Wolf-Ruediger Juergens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Wolf-Ruediger Juergens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.