Hallo und vielen Dank für die Unterstützung,
@oberallgeier: Das ist echt 'ne gute Idee für jedes Mikrocontroller-implementiertes Projekt so eine Testroutine zu machen, spart viel Arbeit bei der Fehlersuche. Diese Idee werde ich mir mal leihen
Der Code ist etwas größer, die Timer 0,1,2 inkl. der Interrrupts beim Überlauf bzw. Erreichen des Vergleichswertes werden verwendet sowie der I²C-Bus. Ich hätte nicht gedacht, dass das Ansteuern eines externen Interrupts mir diese Schmerzen bereiten wird.
Ich befürchte, mittlerweile sehe ich den Wald vor lauter Bäumen nicht. Bei fallender und steigender Flankentriggerung funktioniert es nun - jedoch nur genau ein Mal. Ist auch zeitlich unabhängig, wann ich diesen Taster drücke.Code:#include ..... volatile uint8_t taster = 0; ISR(INT1_vect) { taster = 1; } ... int main(void) { MCUCR |=(1<<ISC11)|(1<<ISC10); // auf steigende Flanke triggern GICR |= (1<<INT1); // ext. Interrupt freigeben ... sei(); while(1) { while( taster ==1) { //auszuführender Code taster = 0; } // Rest des Codes, falls der Taster nicht 1 ist. } return 0; }







Zitieren

Lesezeichen