ADC Erfassen ohne Uref

Gast #1012071
Lesenswert?

Hallo

Habe Folgendes Problem:
Ich benutze einen Atmega 32 mit dem ich einen Analogwert einlesen 
möchte.  Dieser soll in der Variablen  „temp1“ abgelegt werden. Später 
will ich diesen auf einem LC-Display auslesen können.  Im Anhang findet 
ihr ein Schaltbild wie ich zum Testen ein Poti am Analogeingang habe. 
Kann es sein das ich es Falsch angeschossen habe? Ich Wollte ohne 
interne Referenzspannung Messen können. Später will ich mit einem LM35CZ 
eine Temperatur erfassen. Um nun den Analogeingang zu testen habe ich 
vorerst dieses Programm geschrieben. Leider Kriege ich keine Ausgabe, 
bzw. die Variable wird nicht beschrieben. Kann mir einer sagen was ich 
Falsch gemacht habe?


uint16_t ReadChannel(uint8_t mux)
char  temp1;
{

  uint16_t Temperatur;

 ADMUX = (1<<REFS0) | (1<<MUX0); //  Referenzspannung von AVCC 
nutzen//PortA0

ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS2); //Analogwandlung 
ein//Teilungsfaktor 32


  /* "Dummy-Readout" */
  ADCSRA |= (1<<ADSC);              // eine ADC-Wandlung
  while ( ADCSRA & (1<<ADSC) ) {
     ;     // auf Abschluss der Konvertierung warten
  }
  Temperatur = ADCW;  // ADCW muss einmal gelesen werden,
                  // sonst wird Ergebnis der nächsten Wandlung
                  // nicht übernommen.

  / *Messung */
  Temperatur = 0;

    ADCSRA |= (1<<ADSC);            // eine Wandlung "single conversion"
    while ( ADCSRA & (1<<ADSC) ) {
      ;   // auf Abschluss der Konvertierung warten
    }
  ADCSRA &= ~(1<<ADEN);             // ADC deaktivieren

Temperatur=ADCW;
temp1=Temperatur;
}


Danke für eure Bemühungen
Angehängte Dateien:

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