Forum: Mikrocontroller und Digitale Elektronik ADC Read Quellcode


von Zumlin (Gast)


Lesenswert?

Hallo. Bin gerade dabei mir ein bißchen Quellcode ausm Internet klar zu
machen. Hab schon einiges im Datenblatt gedunden, ein paar Sachen
kapier ich immer noch nicht.
Hier mal der Code:
#define ADC_VREF_TYPE 0x40

unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}

Erstmals Wow. Man kann echt viel ausm Datenblatt erkennen, auch wenn
man kein Vorwissen hat. Mir bleiben aber noch zwei Fragen:
1.
Warum stellt er AREF auf ne externe Kapazität? Was bringt das. Ich hät
einfach Aref benutzt. Greif meine Spg eh parralell zu nem beliebiegen
Widerstand ab.

2.
Was ist ADCW? Das find ich im Datenblatt nicht. Warscheins hald mein
Ergebnis =) aber naja.

3.
Kann ich auch negative Spannungen messen? Meine Ausgabe is ja unsigned.
Oder wird das mit dem ersten Bit der Ausgabe übermittelt, ob die negativ
ist.

Danke schon mal

von A.K. (Gast)


Lesenswert?

1: Jeder benutze die Referenz die er braucht.

2: ADCW = ADC Datenregister als 16bit Wort.

3: Negativ: bezogen auf GND nicht, bezogen auf einen anderen
Analogeingang ja (Messung der Differenz zwischen 2 Analogeingängen,
kann nicht jeder AVR).

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.