ADC liest nur 1023 aus

Gast #2148679
Lesenswert?

Servus,

mit diesem code:
1
void adc_init(void)
2
{
3
  uint16_t result;
4
  //ADMUX |= (1<<REFS0);
5
  ADCSRA |= (1<<ADEN);
6
  ADCSRA |= (1<<ADSC);                 
7
    while (ADCSRA & (1<<ADSC) ){};          
8
    result = ADCW;
9

10
}
11

12
uint16_t get_adc()
13
{
14
  uint8_t i;
15
  uint16_t result = 0;
16
  
17
  for(i=0;i<10;i++) {
18
    ADCSRA |= (1<<ADSC);            // eine Wandlung "single conversion"
19
    while (ADCSRA & (1<<ADSC) ){};
20
    result += ADCW;   
21
    }
22
  result = result/10;
23
  return result;
24
}
versuche ich die an ADC0 anliegende Spannung bei einem ATMega8 
auszulesen, die Spannung beträgt 1,9V. Der Wert den ich erhalte ist aber 
immer 1023. Sind in meinem Code Fehler oder muss ich den Fehler woanders 
suchen?
Beste Grüße
Franz

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren