Interrupt-Problem

Gast #2775079
Lesenswert?

Hallo an alle,

ich arbeite gerade mit der Arduino IDE und verwende in einem Code einen 
einfachen Interrupt. Da delay() ja nicht funktioniert, spricht etwas 
dagegen, den Programmfluss durch einige rechenintensive Codeteile zu 
verlangsamen? Ich habe in der IDE keinen Befehl gefunden, mit dem sich 
eine Interrupt Routine verlangsamen lässt und delayMicroseconds() 
funktioniert auch nicht.
Danke im Voraus,

NormalerTyp
#2775081
Lesenswert?

NormalerTyp schrieb:
> Hallo an alle,
>
> ich arbeite gerade mit der Arduino IDE und verwende in einem Code einen
> einfachen Interrupt. Da delay() ja nicht funktioniert

sagt wer?

> spricht etwas
> dagegen, den Programmfluss durch einige rechenintensive Codeteile zu
> verlangsamen?

Die Frage ist: warum willst du etwas verlangsamen?

Wenn es um Zeitstuerungen geht (die länger als ein paar µs sind), dann 
ist ein Warteschleifenansatz sowieso meistens der falsche Weg. 
Timer-Interrupt, eventuell mit Abzählen der Aufrufe, ist der saubere 
Weg.
Gast #2775095
Lesenswert?

Ich habe ein Display an den Arduino angeschlossen, auf dem bei Auslösen 
eines externen Interrupts eine Zahl heruntergezählt werden soll (Und 
zwar in Sekunden). Dafür brauche ich ja eine Verzögerung.
Wenn schon ein Moderator sagt, dass ein Timer besser ist, wird der auch 
verwendet ;)
Ich habe mich gerade schlaugemacht und gesehen, dass es eine Library 
namens TimerOne gibt, mit der sich einfach ein Timer einbinden lässt.
Werde ich schnell ausprobieren.

NormalerTyp
#2775102
Lesenswert?

NormalerTyp schrieb:
> Ich habe ein Display an den Arduino angeschlossen, auf dem bei Auslösen
> eines externen Interrupts eine Zahl heruntergezählt werden soll (Und
> zwar in Sekunden). Dafür brauche ich ja eine Verzögerung.
> Wenn schon ein Moderator sagt, dass ein Timer besser ist, wird der auch
> verwendet ;)
> Ich habe mich gerade schlaugemacht und gesehen, dass es eine Library
> namens TimerOne gibt, mit der sich einfach ein Timer einbinden lässt.
> Werde ich schnell ausprobieren.

Gut. Das ist der richtige Weg.

Ein delay ist meistens nicht die Lösung, sondern schafft in einem 
Programm erst recht die Probleme.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren