Gast
#1881124
Hallo
Ich hab gelesen dass der ATxmega128A1 16 Analogeingänge haben soll. Wie
man 8 von denen konfigurieren kann weis ich, wie kann man aber alle 16
konfigurieren?? Wie muss ich unten aufgeführtes Program abändern damit
alle 16 Analogeingänge nutzen kann??
#include <avr/io.h>
int main(void)
{
PORTA.DIR = 0b00000000;
ADCA.CTRLA = 0b00000001; // ADC aktivieren
ADCA.CTRLB = 0b00001100; // unsigned mode 8Bit und Freilauf Modus
ADCA.REFCTRL = 0b00010000; // Interne Referenz 1.6V
ADCA.EVCTRL = 0b11000000; // sweepmode für Kanal 0,1,2 and 3
ADCA.PRESCALER = 0b00000000; // Teilungsfaktor 4 von der Systemclock
ADCA.CH0.CTRL = 0b00000001; // single-ended-positive
ADCA.CH0.MUXCTRL = 0b00000100; // PA0 als ADCPin
ADCA.CH1.CTRL = 0b00000001; // single-ended-positive
ADCA.CH1.MUXCTRL = 0b00001000; // PA1 als ADCPin
ADCA.CH2.CTRL = 0b00000001; // single-ended-positive
ADCA.CH2.MUXCTRL = 0b00010000; // PA2 als ADCPin
ADCA.CH3.CTRL = 0b00000001; // single-ended-positive
ADCA.CH3.MUXCTRL = 0b00011000; // PA3 als ADCPin
PORTB.DIR = 0b00000000;
ADCB.CTRLA = 0b00000001; // ADC aktivieren
ADCB.CTRLB = 0b00001100; // unsigned mode 8Bit und Freilauf Modus
ADCB.REFCTRL = 0b00010000; // Interne Referenz 1.6V
ADCB.EVCTRL = 0b11000000; // sweepmode für Kanal 0,1,2 and 3
ADCB.PRESCALER = 0b00000000; // Teilungsfaktor 4 von der Systemclock
ADCB.CH0.CTRL = 0b00000001; // single-ended-positive
ADCB.CH0.MUXCTRL = 0b00000100; // PA0 als ADCPin
ADCB.CH1.CTRL = 0b00000001; // single-ended-positive
ADCB.CH1.MUXCTRL = 0b00001000; // PA1 als ADCPin
ADCB.CH2.CTRL = 0b00000001; // single-ended-positive
ADCB.CH2.MUXCTRL = 0b00010000; // PA2 als ADCPin
ADCB.CH3.CTRL = 0b00000001; // single-ended-positive
ADCB.CH3.MUXCTRL = 0b00011000; // PA3 als ADCPin