Hi zusammen,
ich habe ein wahrscheinlich relativ einfaches Problem, aber komme leider nicht weiter.
Ich verwende einen ATmega32L.
Am PINA7 ist ein einfacher Knopf angebracht, der beim Drücken einen Interrupt auslösen soll. Ich habe dann ins Datenblatt des ATmega32L geguckt und da steht neben dem PINA7 (ADC7).
Wie gesagt, ich weiß leider echt nicht viel von Interrupts, habe mir dann einige Tutorials angeguckt und da bisschen was abgeguckt:
Code:
int main()
{
DDRA &= ~((1<<PA7)); // Pin PA7 auf Eingang setzen, da hängt der Botton dran
ADCSRA = 0x8F; // ADC und Interrupts aktivieren
ADMUX |= ((1<<MUX0)|(1<<MUX1)|(1<<MUX2)); // Auf ADC7 setzen
sei();
ADCSRA |= 1<<ADSC; //starten
while(1){}
}
ISR(ADC_vect){
GREEN_LED_ON(); // Macro, schaltet LED für 1 sek an, dann wieder aus
}
Er springt beim Starten des Programms rein, aber danach nicht wieder ( also reagiert allgemein nicht auf den Button).
Kann mir da wer helfen?
Vielen Dank und sry, dass ich eine wahrscheinlich simple Frage habe.
Lesezeichen