Forum: Mikrocontroller und Digitale Elektronik interrupt


von gyue (Gast)


Lesenswert?

Hi,

ich möchte alle 2 sekunden 2 mal analog Spannung über ADC messen. Soll
ich die ADC Messfunktion in einem Timerinterrupt routine schreiben,
oder schreibe ich in der Hauptschleife?

Mfg

gyue

von Sepp -. (sepp_o)


Lesenswert?

Salve

Ich mache soetwas immer mit Timerinterrupt, da ansonsten das Warten auf
die nächste ADC-Auswärtung alles blokiert.

mfg Sepp

von Rahul (Gast)


Lesenswert?

Du kannst den ADC in der Timer-ISR antriggern und dann in einer ADC-ISR
den Rest erledigen lassen...
Oder in der Timer-ISR ein Flag setzen, das die Messung in der
Hauptschleife auslöst.
ISR sollte man möglichst kurz halten.

von peter dannegger (Gast)


Lesenswert?

Der Timerint startet die Messung, der ADC-Int liest aus.

Oder der Timerint liest die letzte Messung aus und startet dann die
nächste.


Peter

von Hannes L. (hannes)


Lesenswert?

Was spricht gegen den Free-Running-Betrieb des ADC?

Damit kann man den gerade aktuellen Wert gut in der Timer-ISR auslesen
ohne sich um andere Dinge des ADC kümmern zu müssen.

Bei mehreren Messquellen schaltet man nach der Messung
"vorausschauend" die Quelle der nächsten Messung ein.

...

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.