Gesp
14.04.2011, 15:05
Hallo Forum,
im Moment versuche ich vergebens mit den 6 Tastern ein Interrupt zu erzeugen. Ich bin jetzt mit meinem Latein am Ende, und nach stundenlanges Forenlesen und Ausprobieren hab ich mir gedacht, ich muss Nachfragen:
Hier mein Programm:
#include "asuro.h"
#include <avr/interrupt.h>
#include <avr/io.h>
int main(void)
{
StartSwitch();
Init();
sei();
GICR = (1<<INT1);
while (1)
{
FrontLED (OFF);
MotorDir(FWD,FWD);
MotorSpeed(200,200);
}
while(1);
return 0;
}
SIGNAL (SIG_INTERUPT1) //Interruptfunktion
{
StopSwitch();
StatusLED(RED);
}
Das einigste was Passieren soll ist folgendes:
Der Asuro fährt vorwärts. Wenn ein Taster gedrückt wird soll die Status-LED Rot leuchten.
Könnt ihr mir weiterhelfen?
Einige denken sich warum macht er das nicht mit Polling?
Ganz einfach:
Mit Polling habe ich schon am Asuro schon einiges Programmiert (z.B.: Asuro fähr, Taster gedrückt Asuro fährt rückwärts usw..)
Ich hab mit Interrupts schon an PIC-Controllern gearbeitet. Und deswegen will ich mal ein Interrupt am Atmel ausprobieren.
Vielen Dank schon mal für eure Hilfe
Grüße
Gesp
im Moment versuche ich vergebens mit den 6 Tastern ein Interrupt zu erzeugen. Ich bin jetzt mit meinem Latein am Ende, und nach stundenlanges Forenlesen und Ausprobieren hab ich mir gedacht, ich muss Nachfragen:
Hier mein Programm:
#include "asuro.h"
#include <avr/interrupt.h>
#include <avr/io.h>
int main(void)
{
StartSwitch();
Init();
sei();
GICR = (1<<INT1);
while (1)
{
FrontLED (OFF);
MotorDir(FWD,FWD);
MotorSpeed(200,200);
}
while(1);
return 0;
}
SIGNAL (SIG_INTERUPT1) //Interruptfunktion
{
StopSwitch();
StatusLED(RED);
}
Das einigste was Passieren soll ist folgendes:
Der Asuro fährt vorwärts. Wenn ein Taster gedrückt wird soll die Status-LED Rot leuchten.
Könnt ihr mir weiterhelfen?
Einige denken sich warum macht er das nicht mit Polling?
Ganz einfach:
Mit Polling habe ich schon am Asuro schon einiges Programmiert (z.B.: Asuro fähr, Taster gedrückt Asuro fährt rückwärts usw..)
Ich hab mit Interrupts schon an PIC-Controllern gearbeitet. Und deswegen will ich mal ein Interrupt am Atmel ausprobieren.
Vielen Dank schon mal für eure Hilfe
Grüße
Gesp