Hallo zusammen.
Ich habe eine Grundsatzfrage zum AD-Wandler vom ATMega im Free-Running-Mode.
Wenn ich das für einen Kanal brauche, sagen wir mal ADC0, dann konfiguriere ich den AD-MUX für den Freerun Mode und Kanal 0
Und wenn ich jetzt nach jeder Wandlung eine ISR Aufrufe, kann ich dort immer den ADC-Wert von ADC0 auslesen und in ner Variable zwischenspeichern.
Das ist kein Problem.
Aber wenn ich jetzt sagen wir mal ADC0, dann ADC1 und dann ADC2 wandeln möchte, wird es schon komplizierter.
Also wenn ich am Anfang den ADC0 konfiguriere und die Wandlung starte, wird ADC0 gewandelt. Die ISR wird aufgerufen und ich speichere den ADC0 wert in einer eigenen Variable. Jetzt möchte ich in der ISR auf den ADC1 (nächster Kanal) umschalten. Kann ich ja machen (MUX-Register ändern).
Jetzt stellt sich aber die Frage. Wenn ich noch in der ISR bin und den Kanal ändere, wird in der Zeit bereits der ADC0 nochmal gewandelt? Oder wird die Wandlung erst fortgesetzt, wenn die ISR verlassen wurde?
Ein Programm habe ich hierzu nicht, das kann man sich ja grob vorstellen. Ist ja erst mal ne Grundsatzfrage.
Ich habe eine Grundsatzfrage zum AD-Wandler vom ATMega im Free-Running-Mode.
Wenn ich das für einen Kanal brauche, sagen wir mal ADC0, dann konfiguriere ich den AD-MUX für den Freerun Mode und Kanal 0
Und wenn ich jetzt nach jeder Wandlung eine ISR Aufrufe, kann ich dort immer den ADC-Wert von ADC0 auslesen und in ner Variable zwischenspeichern.
Das ist kein Problem.
Aber wenn ich jetzt sagen wir mal ADC0, dann ADC1 und dann ADC2 wandeln möchte, wird es schon komplizierter.
Also wenn ich am Anfang den ADC0 konfiguriere und die Wandlung starte, wird ADC0 gewandelt. Die ISR wird aufgerufen und ich speichere den ADC0 wert in einer eigenen Variable. Jetzt möchte ich in der ISR auf den ADC1 (nächster Kanal) umschalten. Kann ich ja machen (MUX-Register ändern).
Jetzt stellt sich aber die Frage. Wenn ich noch in der ISR bin und den Kanal ändere, wird in der Zeit bereits der ADC0 nochmal gewandelt? Oder wird die Wandlung erst fortgesetzt, wenn die ISR verlassen wurde?
Ein Programm habe ich hierzu nicht, das kann man sich ja grob vorstellen. Ist ja erst mal ne Grundsatzfrage.