-
-
Erfahrener Benutzer
Fleißiges Mitglied
Nach der Wandlung braucht der ADC einen Takt, um das Ergebnis in das ADC Register zu übertragen. Während der ADC sich schrittweise an das Ergebnis heran tastet, verändert sich der Inhalt des ADC Register dadurch praktischerweise nicht.
Das ADC Register ist also NICHT das interne Arbeitsregister des Wandler. Und nun wissen wir, wozu der 13. Takt gut ist.
Da gibt es noch etwas zu beachten: Wenn man den ADC freilaufend einstellt, aktualisiert er das ADC Register fortlaufend mit dem Ergebnis der Messungen und löst dabei jedesmal einen Interrupt aus. Soweit ist noch alles klar. Die Überraschung kommt jetzt:
Wenn Du in der Interrupt Routine den Kanal (Multiplexer) umstellst, dann wirst Du den Wert für den gerade eingestellten Kanal nicht im nächsten Interrupt erhalten, sondern erst im übernächsten.
Denn auch die Kanalumschaltung ist doppelt gepuffert. Während Du den Kanal umschaltest ist der ADC nämlich bereits mit der nächsten Wandlung beschäftigt. Die Umschaltung wird erst nach dieser nächsten Wandlung wirksam, so dass das passende Ergebnis erst nach der übernächsten Wandlung verfügbar ist.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen