Moin!!!
Mein Prog funktioniert jetzt. Hier der Code:
Jetzt stellt sich mir nur noch so die Frage, was das mit dem Autotrigger bedeutet. Das hab ich im Datenblatt nicht so ganz verstanden.Code:#include <avr/io.h> #include <stdint.h> #define F_CPU 1000000UL int main(void) { uint16_t result; DDRC = (1<<PC0); ADMUX = 0x00; //AREF, resultat rechtsbündig, ADC-Eingang ADC0 ADCSRA = ((1<<ADEN) | (1<<ADPS1) | (1<<ADPS0)); //ADC eingeschaltet, Teilungsfaktor 8 while(1) { ADCSRA |= (1<<ADSC); while (ADCSRA & (1<<ADSC)) { ; } result = ADCL; result += (ADCH<<8); if (result >= 512) //LED geht ziemlich genau bei 2,5V an!!! { PORTC |= (1<<PC0); } else PORTC &= ~(1<<PC0); } }
Ich hab ja den 5.Bit in ADCSRA nicht gesetzt und auch das SFIOR register ganz außen vor gelassen. Laut der Tabelle im Datenblatt müsste jetzt FreeRunning Mode eingeschaltet sein. Hab ja alles für Single convention vorbereitet.
Warum klappt das dann trotzdem?
Was hat das mit dem Autotrigger auf sich?
MfG Jan







Zitieren

Lesezeichen