mahlzeit, ich find das ganz interessant mit dem interrupt
ich hab mal folgendes versucht
Code:
void StartExtInt(void)
{
PORTD &= ~(1 << PD2);
DDRD &= ~(1 << PD2); // Switches as Input => ext. Int 1
MCUCR &= ~((1 << ISC00) | (1 << ISC01));// Low level generates interrupt
GICR |= ~(1 << INT0);
}
void StopExtInt(void)
{
GICR &= ~(1 << INT0);
DDRD |= ~(1 << PD2); // Switches as Input => ext. Int 1
PORTD |= ~(1 << PD2);
}
// die ISR hab ich in der prog-file angelegt
SIGNAL (SIG_INTERRUPT0)
{
StopExtInt();
SerWrite("SIG INT0 Done", 13);
StartExtInt();
}
meine frage, wäre das in ordnung um den INT0 port als interrupt zu schalten ?
ausserdem die frage was soll ich mit dem rotanschlus der status LED machen (im Bild mit ? markiert)? muss ich den wegkratzen ? weil wenn ich jetzt CON2 mit VCC überbrücke (mit und ohne widerstand probiert) passiert nix ... aber mein atmega scheint jedesmal neu zu starten wenn ich startswitch(); (ja ich meine startSWITCH()) aufrufe (also der aufruf im interrupt)
wo liegt mein fehler, was muss ich machen um con2 effektiv nutzen zu können ?
Lesezeichen