ISR Interrupt für Analog Input

Gast #1116088
Lesenswert?
• ▲
▼
Hallo

Eine Frage zu ISR(ADC_vect). Im Datenblatt von Atmega8L steht:

* Bit 4 – ADIF: ADC Interrupt Flag:

This bit is set when an ADC conversion completes and the Data Registers 
are updated. The ADC Conversion Complete Interrupt is executed if the 
ADIE bit and the I-bit in SREG are set.

Ist damit gemeint, dass sobald die ADC Conversion abgeschlossen ist, der 
Interrupt  des ADC erfolgt? Oder ist mit dem I-Bit was anderes gemeint?

Das ISR ist doch dieses Register oder? -->
SREG | I | T | H | S | V | N | Z | C |
#1116114
Lesenswert?
• ▲
▼
Es gibt zwei Möglichkeiten den ADC Interrupt zu sprerren.

Entweder man setzt das ADIE-Bit NICHT, oder/und man sperrt ALLE 
Interrupts indem das I-Bit im Statusregister auf 0 gesetzt wird.

Wenn ADIE und ADIF gesetzt sind (ADIE durch dich, ADIF wenn die Wandlung 
fertig ist) wird der Interrupt ausglöst sobald das I-Bit gesetzt wird 
(durch STI).
Mehr steht da nicht drin.
Gast #1116129
Lesenswert?
• ▲
▼
Ah OK, hab es kappiert. Nachdem die WAndlung fertig ist, wird das ADIF 
gesetzt, wodurch dann die Interrupt-Routine ISR(ADC_vect) ausgeführt 
wird. Und das jedesmal wenn die Wandlung abgeschlossen ist.

Danke

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