Hallo Leute,
Wie werden die ADC-Kanäle 8-13 bei einem ATmega16u4 angesprochen laut 
Datenblatt (Seite 309) soll 1<<ADLAR und die MUX bit 0 bis 4 z.B. für 
Kanal ADC13 00101.
Über UART kommt bei mir immer 0 raus, an dem uC-Pin liegt aber schon 
eine Spannung von ca. 2V!!!(nachgemessen) weisst jemand voran das liegen 
könnte?
1  | /* ADC initialisieren */
  | 
2  | void ADC_Init(void) {
 | 
3  |  
  | 
4  |   uint16_t result;
  | 
5  |  
  | 
6  |   // Referenzspannung fuer den ADC waehlen:
  | 
7  |   ADMUX = (0<<REFS1) | (0<<REFS0) | (1<<ADLAR);
  | 
8  |   
  | 
9  |   // Bit ADFR ("free running") in ADCSRA steht beim Einschalten
 | 
10  |   // schon auf 0, also single conversion
  | 
11  |   ADCSRA =  (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);     // Frequenzvorteiler 
  | 
12  |                                                       //16MHz Frequenz
  | 
13  |   ADCSRA |= (1<<ADEN);                  // ADC aktivieren
  | 
14  |  
  | 
15  |  
  | 
16  |   ADCSRA |= (1<<ADSC);                  // eine ADC-Wandlung 
  | 
17  |   while (ADCSRA & (1<<ADSC) ) {}        // auf Abschluss der Konvertierung warten
 | 
18  |   /* ADCW muss einmal gelesen werden, sonst wird Ergebnis der naechsten
  | 
19  |      Wandlung nicht uebernommen. */
  | 
20  |   result = ADCW;
  | 
21  | }
  | 
22  |  
  | 
23  | /* ADC Einzelmessung */
  | 
24  | uint16_t ADC_Read(int8_t channel)
  | 
25  | {
 | 
26  |   // Kanal waehlen, ohne andere Bits zu beeinflussen
  | 
27  |   ADMUX = (ADMUX & ~(0x1F)) | (channel & 0x1F);
  | 
28  |   ADCSRA |= (1<<ADSC);            // eine Wandlung "single conversion"
  | 
29  |   while (ADCSRA & (1<<ADSC) ) {}  // auf Abschluss der Konvertierung warten
 | 
30  |   return ADCW;                    // ADC auslesen und zurueckgeben
  | 
31  | }
  | 
32  | 
  | 
33  | 
  | 
34  | ...
  | 
35  | 
  | 
36  | 
  | 
37  | int main()
  | 
38  | {
 | 
39  |   uint16_t adcval;
  | 
40  |   InitUART(9600);
  | 
41  |   ADC_Init();
  | 
42  | 
  | 
43  | 
  | 
44  |   while(1){  
 | 
45  |   
  | 
46  |      adcval = ADC_Read(5);
  | 
47  | 
  | 
48  | ...
  |