Tiny13 ADC - Verzweiflung

OP #1482423
Lesenswert?
• ▲
▼
Hallo

Es gibt ja schon Zahlreiche ADC-Beiträge für den Tiny13. Dort konnte ich 
aber meine Lösung nicht finden.

Problem ist, dass der ADC immer den gleichen in etwa Wert ausliest, egal 
welche Spannung anliegt.

Ich sehe leider den Fehler nicht, könnt ihr mir helfen?

Danke

Michael
OP #1482518
Lesenswert?
• ▲
▼
Jetzt funktioniert's. Vielleicht liegt es daran, dass ich nur den 8 bit 
Mode verwenden wollte.

Der neue Code:

void adc_init(){
  ADMUX=(0<<REFS0)|(1<<MUX0);
  ADCSRA=(1<<ADEN)+(1<<ADSC)+(0<<ADPS2)+(0<<ADPS1)+(0<<ADPS0);
}

uint_fast16_t adc_shoot(){
  ADCSRA|=(1<<ADSC);
  while(!(ADCSRA &&(1<<ADSC)));
  unsigned char read_first;
  read_first=ADCL;
  return (ADCH<<8)+read_first;
}

Hoffe, das hilft wenn jemand das gleiche Problem hat...

Michael
Gast #1482813
Lesenswert?
• ▲
▼
Kann es sein, dass du nur 8 bit auslesen wolltest?

Wenn ich mich recht erinnere muss man auch im "8-bit modus" immer 16 bit 
lesen, ob man sie nun verwendet oder nicht.

Vielleicht wars ja sogar das hier...

Felix

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.