ADC gibt Wert zurück, trotz 0V

Gast #783197
Lesenswert?
• ▲
▼
Hallo zusammen

Ich versuche mich gerade am ADC des AT90CAN32. Initialisiert hab ich das 
so:
1
void ADC_Init (void)
2
  {
3
  uint16_t x;
4
  ADCSRA  |= (1<<ADEN) | (1<<ADSC) | (1<<ADATE) | (1<<ADIE) | (1<<ADPS1) | (1<<ADPS2);
5
  ADMUX |= (1<<REFS0) | (1<<MUX0);
6
  ADCSRA |= (1<<ADSC);            
7
      
8
  x = ADCL;
9
  x += (ADCH<<8);
10

11
  
12
  }

Der Wert wird dann folgendermassen ausgewertet:
1
ISR (ADC_vect)
2
  {
3
  value = ADCL;
4
  value += (ADCH<<8);
5
  voltage = (float) value * (float)VREF / 1023.0;
6
  if (voltage > MAXVAL)
7
  MOTOR_Move (STOP);
8
    }

Der Spannungswert am Eingang kommt vom Sense-Ausgang eines L6201. Wenn 
der Motor steht, messe ich am Sense-Ausgang und am ADC-Eingang 0V. Beim 
Debuggen mit AVR-Studio zeigt er mir aber einen Wert von value von 30-34 
an. Woran kann das liegen?

Gruss
Patrick
Gast #783211
Lesenswert?
• ▲
▼
Ich hab den Fehler gefunden. Ich benutze den Eingang ADC0.
Mit:
1
..| (1<<MUX0);
wird aber ADC1 als Eingang gewählt und der hängt natürlich irgendwo. Ich 
hab den Teil gelöscht und jetzt funktionierts.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.