Tomato schrieb:
> Anscheinend geht er nicht ins ISR
Wofür brauchst du für diese simple Aufgabe einen Interrupt?
Ich würde die erst mal mit Polling lösen. Und ich sehe grade, dass du
das auch tust. Zusätzlich zum Interupt...
Was passiert denn, wenn du das machst:
1 | :
|
2 | :
|
3 | ADCSRA |= (1<<ADSC);
|
4 | while (ADCSRA & (1<<ADSC))
|
5 | {
|
6 | }
|
7 | PORTB |= (1<<PB1); //Zur Kontrolle, ob er überhaupt mal fertig wird
|
8 |
|
9 | while (1)
|
10 | :
|
11 | :
|
12 | ISR (ADC_vect)
|
13 | {
|
14 | out(c);
|
15 | // PORTB |= (1<<PB1); //Zur Kontrolle, ob er ins ISR geht
|
16 | ADCSRA |= (1<<ADSC);
|
17 | }
|
18 | :
|
19 | :
|
BTW: dir ist schon klar, dass du den ADC nicht unbedingt selber in 2
Zugriffen auslesen musst. Das macht der Compiler schon richtig, wenn du
schreibst c = ADC;