Hallo!
Ich möchte in meinem Programm den ADC verwenden der dann den
ADC-Interrupt auslöst. Nach dem das nicht funktionierte, habe ich ein
kleines Testprogramm geschrieben, das nur den ADC-Interrup testet. Das
programm beweist nun eindeutig: der ADC löst den Interrupt nicht aus.
(die LED leuchtet nicht). Aber wieso? hat jemand einen Rat für mich??
Mein Programm:
1 | #include <avr/io.h>
|
2 | #include <avr/interrupt.h>
|
3 |
|
4 | int main(void)
|
5 | {
|
6 | DDRB = 0x1F; //Portkonfigurationen
|
7 | DDRD = 0xF8;
|
8 | PORTC = 0xFC;
|
9 | PORTB |= (1<<0)|(1<<1)|(1<<4);
|
10 |
|
11 | ADMUX = (1<<REFS0)|(1<<ADLAR)|(1<<MUX2)|(1<<MUX0); //Analog-Digitalwandler-Konfigurationen
|
12 | ADCSRA = (1<<ADEN)|(1<<ADSC)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
|
13 |
|
14 | sei(); //Interrupts erlaubt
|
15 | }
|
16 | ISR(ADC_vect)
|
17 | {
|
18 | PORTD |= (1<<6);
|
19 | }
|
Vielen Dank für jegliche Hilfe!
Gruss Erdbewohner