Hallo zusammen,
ich habe eine Frage zum ADC meines Atmega32 und hoffe, dass ihr mir
helfen könnt.
Ich habe folgende ISR außerhalb meiner main, mit der ich zwei ADCs
einlese:
1 | ISR(ADC_vect)
|
2 | {
|
3 | uint8_t adc0_wert;
|
4 | uint8_t adc0_wert;
|
5 | char adc0[4];
|
6 | char adc1[4];
|
7 |
|
8 | switch (ADMUX)
|
9 | {
|
10 | case 0x60: //ADLAR and REFS0 = 1 and ADC0 selected
|
11 | adc0_wert = ADCH;
|
12 | itoa(ADCH, adc0, 10);
|
13 | lcd_gotoxy(5,0);
|
14 | lcd_puts(adc0);
|
15 | lcd_puts(" ");
|
16 | ADMUX = 0x61;
|
17 | break;
|
18 | case 0x61: //ADLAR and REFS0 = 1 and ADC1 selected
|
19 | adc1_wert = ADCH;
|
20 | itoa(ADCH, adc1, 10);
|
21 | lcd_gotoxy(5,1);
|
22 | lcd_puts(adc1);
|
23 | lcd_puts(" ");
|
24 | ADMUX = 0x60;
|
25 | break;
|
26 | default:
|
27 | //Default code
|
28 | break;
|
29 | }
|
30 | //Start the next conversion
|
31 | ADCSRA |= 1 << ADSC;
|
32 | }
|
Ich würde gerne innerhalb meiner main die beiden ADC-Werte verwenden.
Die Zeile "adc0_wert = ADCH;" bringt leider nicht das gewünschte
Ergebnis, wahrscheinlich weil ich auf diese Weise den ADCH-Wert nicht
global in adc0_wert speichern kann.
Bei einem ADC-Kanal kann man ja immer ADCH auslesen.
Kennt jemand eine Möglichkeit den aktuellen ADC-Wert der beiden Kanäle
immer in der main verfügbar zu machen?
Vielen Dank im Voraus!
Gruß DM