mahlzeit, ich find das ganz interessant mit dem interrupt
ich hab mal folgendes versucht
meine frage, wäre das in ordnung um den INT0 port als interrupt zu schalten ?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(); }
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 ?







Zitieren

Lesezeichen