Spess53 schrieb:
> Hi
>
>> for (i=0;i<256;i++)
>> {
>> ADCMittel=ADCMittel+ADCResult; //Aufsummieren
>> }
>
> Woher weiß dein Controller daß ein neuer Wert vorliegt? In der Zeit, in
> der die Schleife abgearbeitet wird dürften max. 1 bis zwei Messungen
> ablaufen.
Jep.
@Sebastian
In einer Anwendung wie dieser bringt der ganze Interrupt-Quatsch nichts.
Machs klassisch konventionell und gut ists. Wandlung starten, Warten bis
sie fertig ist, auslesen. Und das in einer Schleife 64 mal. Und am
besten gleich ab in eine eigene Funktion damit.(*)
Mit deinem Interrupt Ansatz handelst du dir mehr Probleme ein, als dir
lieb ist. Zb. dass man eine ISR-main gesharte Variable volatile machen
muss und wenn es sich um was größeres als einen uint8_t handelt, dann
musst du auch noch für atomares Auslesen sorgen.
(*) womit wir genau bei den im AVR-GCC-Tutorial beschriebenen Funktionen
wären.