Differential ADC AVR GAIN

Gast #2666320
Lesenswert?

Hallo Leute,

laut Datenblatt von AT90USB646 kann man zum Beispiel zwischen die Kanäle 
2 und 3 (oder 0 und 1) Differentiel x10 verstärken. (Die Auflösung ist 
dann 8-Bit)

Wenn ich zum Beispiel ADC2 mit GND verbinde und ADC3 mit einer positiven 
Spannung z.B 0.3V

Der ADC-Wert entspricht in diesem Fall : 153,stimmt? (AREF ist auf 5V 
gesetzt)

Welchen Kanal muss man bei der Abfrage in main einlesen: readADC(?) 2 
oder 3? oder es ist egal?


Danke im Vorraus.
Gast #2666392
Lesenswert?

#include <avr/io.h>
#include <inttypes.h>

uint16_t readADC(uint8_t channel) {
  uint8_t i;
  uint16_t result = 0;

  // Den ADC aktivieren und Teilungsfaktor auf 64 stellen
  ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1);

  // Kanal des Multiplexers waehlen
  // Interne Referenzspannung verwenden (also 2,56 V)
  ADMUX = channel | (1<<REFS1) | (1<<REFS0);
....

int main(void) {
  uint16_t result = readADC(0);  //Auslesen der analogen Spannungen an 
Pin 0,
          // also ADC0. In result steht das Ergebnis.
  return 0;
}

Bei der ADMUX  habe ich schon 13 eingestellt.soll ich die Funktion auch 
so abfragen?

uint16_t result = readADC(0);

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