Steh grad mal wieder auf dem Schlauch :-/
Möchte 4 Analogkanäle folgendermaßen auslesen...
1 | AK[3] = read_adc(3);
|
2 | AK[4] = read_adc(4);
|
3 | AK[5] = read_adc(5);
|
4 | AK[6] = read_adc(6);
|
Wenn ich das so mache und dann den...
AK3 Wert verstelle wird der Wert von AK[4] verändert
AK4 Wert verstelle wird der Wert von AK[5] verändert
AK5 Wert verstelle wird der Wert von AK[6] verändert
AK6 Wert verstelle wird der Wert von AK[3] verändert
Die Codevision Funktion ist folgendermaßen...
1 | // Read the 8 most significant bits
|
2 | // of the AD conversion result
|
3 | unsigned char read_adc(unsigned char adc_input)
|
4 | {
|
5 | ADMUX=(adc_input & 0x07) | (ADC_VREF_TYPE & 0xff);
|
6 | if (adc_input & 0x08) ADCSRB |= 0x08;
|
7 | else ADCSRB &= 0xf7;
|
8 | // Delay needed for the stabilization of the ADC input voltage
|
9 | delay_us(10);
|
10 | // Start the AD conversion
|
11 | ADCSRA|=0x40;
|
12 | // Wait for the AD conversion to complete
|
13 | while ((ADCSRA & 0x10)==0);
|
14 | ADCSRA|=0x10;
|
15 | return ADCH;
|
16 | }
|
Denke mal die wird stimmen.
Wo ist mein Fehler?