Hallo, ich habe ein sehr seltsames Problem mit dem 1-wire Bootloader Fastboot von Peter Dannegger und einem external Interrupt auf dem Attiny84. Zum Aufbau: An PA1 hängt der 1-wire Bootloader. Funktioniert soweit auch einwandfrei. An PA7 habe ich einen Taster gegen VCC angeschlossen, PA7 mit 22k nach GND gezogen. Bei dem 1-wire Programmierkabel handelt es sich um diese Konstruktion: Beitrag "Re: UART Bootloader ATtiny13 - ATmega644" Jetzt versuche ich mit folgendem Initialisierungscode den Interrupt zu enablen: init() { MCUCR = ( (1<<ISC00) | (1<<ISC01) ); // the rising edge of INT0 generates an interrupt request PCMSK0 = (1<<PCINT7); // Any pin change at int7 generates an interrupt GIMSK = (1<<INT0) | (1<<PCIE0); // enable Int0 and int7 interrupt sei(); // enable interrupts } Meine main besteht im Moment noch aus dem Aufruf der init-funktion und einer leeren For-Schleife. In der ISR lasse ich im Moment noch eine LED blinken, damit ich direkt sehe wann die Funktion aufgerufen wird. Wird natürlich später nicht so sein! ISR(PCINT0_vect) { cli(); uint8_t i = 0; for(i=0;i<6;i++) { LEDport ^= (1<<LEDpin); // LED auf PA6 _delay_ms(100); } sei(); } Das Problem ist nun: So lange das 1-wire Programmierkabel angesteckt ist, wird der Interrupt nicht angesprungen. Ziehe ich es ab, funktioniert alles wie gewünscht. Was ist da los? Danke Andreas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.