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 |
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.