An die, die das Verstehen:
Wenn man der Doku traut, dann heißt es zum ADC-Wandler, dass die nächste Wandlung gestartet wird, sobald die aktuelle fertig ist. Dazu wird dann noch der Interrupt ausgelösst.Zitat von izaseba
Somit läuft die nächste Wandlung schon wenn wir in der Interrupt-Funktion angekommen sind. Es ist hier demnach schon zu spät, da wir den MUX ja hier erst nach dem Start der jetzt schon laufenden 'freerunning'-Wandlung umschalten können.
Ich möchte keinesfalls ausschliessen, das ich da nichts verstehe. (Rechtlicher Hinweis)
Vielleicht nochmal (vor allem für mich): Wir reden doch vom ATmega16?
Die von mir angegeben Seite (203) kam vom ATmega8, da ich nur die CPU nutze, und entsprechend nur diese Doku habe.
Ich kann mir aber nicht vorstellen, das der interne Ablauf im Kontroller komplett anders sein sollte. Aber man weiss ja nie.
Deshalb hier die 'eventuell möglichen Kapitelüberschriften' die ich zu diesem Thema für relevant halte:
ADC-Konverter (natürlich auf Englisch)
Interrupt-System (klar, auch auf Englisch)
@izaseba
Die Idee ist nicht schlecht. Leider bin ich aber auf diese 'Falle' schon gestoßen und habe deshalb den 'freeruning'-Mode beim Asuro komplett aufgegeben. Mag sein, dass man es hinbekommt, aber ich verwalte alle anstehenden ADC-Kanal-Anforderungen nun komplett ohne den 'freerunner'. Mal sehen, wann ich es gelernt habe einen Thread aufzumachen um darüber zu berichten![]()
Lesezeichen