Gast
#1641296
Hallo,
Ich habe ein Problemchen.
LDR hängt an ADC0 (PA0). Besser gesagt, LDR ist zwischen VCC und ADC0,
und von ADC0 geht ein 100kOhm an GND.
(Und AVCC = VCC.)
Gemessen wird (an ADC0 Pin) bei Licht ca. 200-600mV, und in Dunkel fast
VCC, also ich kann sagen, LDR u. Spannungsteiler sind in Ordnung.
Egal, was ich mache, das Programm zählt immer bis 1023!
Das Programmteil:
uint16_t ReadADC(uint8_t ch) {
ADMUX = (1<<REFS0) | ch; // AVCC = ref.
ADCSRA = (1<<ADEN) | (1<<ADSC) | (1<<ADIF) | 6;
while ((ADCSRA & (1<<ADIF))==0);
return ADC;
}
Ich weiss, "6" ist ein bisschen unschön, in der entgültigen Version
werde ich die Kosmetik auch erledigen. :)))
Also "6" heisst: Divider ist 64. Mein AVR läuft mit 11,0592 MHz, es gibt
dann ca. 173kHz (vorgeschrieben ist zwischen 50 u. 200kHz)
Was mache ich falsch? Habe ich was vergessen/versehen?
Danke für Euere Hilfe,
Karoly