Gast
#3821417
Hi, ich weiß das zu dem Thema schon viele Artikel existieren aber ich probieren seit ein paar Tagen schon den ADC des ATXMEGA16E5 ans laufen zu bekommen, aber das will einfach nicht funktionieren. Ich will im Prizip einfach nur den ADC testen und zwar will ich die Spannung am Port PA2 messen. Im Freerunning-Mode. Im moment sieht mein Programm ca. so aus: void main() { ADCA.CTRLA= 0x01; //ADC-ENABLE ADCA.CTRLB = 0b00011010; //CURRLIMIT=NO,SIGNED,FREERUN,8BIT-RIGHT ADCA.REFCTRL = 0b00100000; //AREFA als Referenzspannung ADCA.PRESCALER = 0x00; //VORTEILER=4 ADCA.CH0.CTRL = 0x02; //Differential input signal ADCA.CH0.MUXCTRL = 0b00001000; //MUXPOS=ADC1 pin ADCA.CH0.INTCTRL = 0x03; //INTER-ENTABLE, HIGH-PRIORITY ADCA.CH0.CTRL|=0x80; //ADC Starten printf("REGISTER CTRL: %d\r\n",ADCA.CH0.CTRL); /* End of Initialization */ printf("STARTE WHILE\r\n\r\n"); while(1) { while(!ADCA.CH0.INTFLAGS); printf("VALUE: %d\n\r",ADCA.CH0.RESL); ADCA.CH0.INTFLAGS=0; } } Wenn ich mir den Wert eines Registers ,also z.B. von ADCA.CTRLB, ausgebe ist der Wert immer 0 egal was ich setze. Was mach ich falsch??
