Ich bin mir diesmal sicher alles richtig gemacht zu haben :-)
AREF mit 47nF zu GND
AVCC an VCC (+3,3V)
ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
// prescaler 256
ADMUX = (1<<REFS1) | (1<REFS0) |(1<<MUX2) | (1<<MUX1) | (1<<MUX0);
// internal 2,56V reference ADC7
int read_channelX()
{
unsigned int i;
ADCSRA |= (1<<ADSC);
while (ADCSRA & (1<<ADSC))
{
;
}
return ADC;
}
tmp = read_channelX();
ltoa(tmp,s,10);
myuart_puts(s);
Denoch kommt da ueber den UART immer 0 :-)
ich hab auch mal ADCW probiert, das sollte ansich ein 16 Bit wert zurueck geben, aber auch da bleibts bei 0
ok, sorry :-) funzt bestens, ADCW gibt den richtigen Wert zurueck, ich hatte einen zu großen Widerstand vorm ADC Eingang. somit war die spannung zu klein und der ADC hat 0 gemeldet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.