Benutz mal diese Zeilen hier um den ADC zu initialisieren
Du musst nämlich nachdem initialisieren erstmal eine Wandlung machen um das Register leer zu räumen.Code:void ADC_Init(void) // ADC initalisieren { ADMUX = (1<<REFS1) | (1<<REFS0); // Interne Referenzspannung nutzen ADCSRA = (1<<ADPS1) | (1<<ADPS0); // Frequenzvorteiler ADCSRA |= (1<<ADEN); // ADC aktivieren ADCSRA |= (1<<ADSC); // Eine ADC-Wandlung while (ADCSRA & (1<<ADSC)) // Warten bis Wandlung abgeschlossen ist Ergebniss = ADCW; // Ergebniss der ersten Wandlung speichern }
Und das hier brauchste natürlich auch:
SREG = (1<<7); // Global Interrupt Enable
Anschließend setzt du in der Timer-ISR nur noch das Enable Bit von dem ADC und ließt ihn aus.







Zitieren

Lesezeichen