Gast
#2300410
ich möchte im noise reduction mode wandeln,
er wacht aber nicht mehr auf, kommt nie in den ADC Interrupt,
was fehlt denn da?
Den einzigen Interrupt den ich sonst verwende ist der Timer, den möchte
ich währenddessen deaktivieren
// Leer IRQ fuer ADC
ISR (ADC_vect)
{
PORTB &= ~_BV(PLED);
}
// ADC starten, warten und Wert holen
uint16_t GetADC(uint8_t channel)
{
ADCSRA = (1<ADIE) | (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) |
(0<<ADPS0);
ADMUX = channel | (1<<REFS1) | (0<<REFS0); // (1,1V)
TIMSK &= ~_BV(TOIE0);
sei();
set_sleep_mode(SLEEP_MODE_ADC);
sleep_mode();
cli();
TIMSK = _BV(TOIE0); // Timer/Counter0 Overflow Interrupt Enable
return ADCW;
}