Hallo,
ich versuche gerade den ADC eines ATmega640 im free-running mode zu
betreiben, dazu habe ich ihn so konfiguriert:
1 | ADMUX=0x40; // REF=Vcc-Pin
|
2 | ADCSRB=0x00; // FREE-Running Mode
|
3 | DIDR0=0x00;
|
4 | DIDR2=0x00;
|
5 | ADMUX=ADMUX&0xE0; //Kanal einstellen
|
6 | ADMUX=ADMUX|0x00; //ADC0 (PIN F0)
|
7 | ADMUX |= (1 << ADLAR); //8 MSBits in ADCH Register ("8-Bit Mode")
|
8 | ADCSRA=0xC7; // ADC-Enable, Clk-Frq=125 Khz
|
allerdings muss ich trotzdem noch Messungen starten indem ich das ADSC
bit setze:
ansonsten wird nur einmal nach dem Start des Programms ein Wert
gemessen.
Laut Datenblatt muss man aber das ADSC bit im free-running mode nicht
setzen.