Forum: Mikrocontroller und Digitale Elektronik Atmega32 ADC gibt keinen wert zurueck


von Simon (Gast)


Lesenswert?

Ich bin mir diesmal sicher alles richtig gemacht zu haben :-)


AREF mit 47nF zu GND
AVCC an VCC (+3,3V)


ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
// prescaler 256
ADMUX = (1<<REFS1) | (1<REFS0) |(1<<MUX2) | (1<<MUX1) | (1<<MUX0);
// internal 2,56V reference ADC7


int read_channelX()
{

  unsigned int i;
    ADCSRA |= (1<<ADSC);
    while (ADCSRA & (1<<ADSC))
      {
        ;
      }
  return ADC;
}


tmp = read_channelX();
ltoa(tmp,s,10);
myuart_puts(s);



Denoch kommt da ueber den UART immer 0 :-)

von Hubert G. (hubertg)


Lesenswert?

Wo fragst du das ADC-Register ab?

von Simon (Gast)


Lesenswert?

oder eh eh...

return ADC;

von Simon (Gast)


Lesenswert?

ich hab auch mal ADCW probiert, das sollte ansich ein 16 Bit wert 
zurueck geben, aber auch da bleibts bei 0

von Simon (Gast)


Lesenswert?

ok, sorry :-)

funzt bestens, ADCW gibt den richtigen Wert zurueck, ich hatte einen zu 
großen Widerstand vorm ADC Eingang.
somit war die spannung zu klein und der ADC hat 0 gemeldet.

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.