Forum: Mikrocontroller und Digitale Elektronik ADC ATmega32 defekt???


von Fuzzy F. (fuzzy)


Lesenswert?

Hi Leute,

will den AD-Wandler von Atmega32 benutzen, um Werte von einem Poti 
einzulesen. Das Problem ist, dass ich den AD-Wandler nicht zum laufen 
kriege.Ist das ersten Mal, dass ich ne Mikrocontroller benutze.

Hoffe es kann mir jemand helfen!!!

Hier der Quellcode:
#include<avr/io.h>

int main (void)
{
  MCUCSR = (1<<JTD);
  MCUCSR = (1<<JTD);
  DDRB = 0xFF;              // port B output
  DDRC = 0x00;    // port C input

  int x = 0;

  // Activate ADC with Prescaler 16 --> 1Mhz/16 = 62.5kHz
  ADCSRA = _BV(ADEN) | _BV(ADPS2);

  for (;;) {
    ADMUX = 0;            // Select pin ADC0 using MUX

    ADCSRA |= _BV(ADSC);  //Start conversion


    // wait until converstion completed
    while (ADCSRA & _BV(ADSC) ) {}

    x = ADCW;                // get converted value

    PORTB = x>>2;           // output the higher 8 bits

  }

}

Danke schon mal!!!!
mfg fuzzy

von johnny.m (Gast)


Lesenswert?

Was genau läuft denn nicht? Wird der ADC mit der Wandlung nicht fertig? 
Oder kommen komische Werte raus? Sind AVCC und AGND korrekt 
angeschlossen? Ist der Port richtig konfiguriert (Eingänge ohne 
Pull-Ups)?

von Ole H. (tragichero)


Lesenswert?

ich meine mal im tutorial gelesen zu haben, dass nach dem umschalten des 
adc-eingangs der erste wert zu verwerfen sei...

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
Noch kein Account? Hier anmelden.