Hallo Leute, mein Beitrag hier ist wohl während dem Umbau der Site ins Nirvana verloren gegangen...
Hier nochmal:
Ich will einen möglichst einfachen (und daher leicht zu verstehenden) Interrupt programmieren können.
Mein Ansatz war der:
Dann kam die AntwortCode:ISR (INT0_vect) { i++; } main () { int i=0; // Zählervariable sei(); // Interrupts global einschalten GIMSK=(1<<6) // bzw. (1<<INT0) ?? Enable INT0 MCUCR=MCUCR|(1<<ISC01)|(1<<ISC001) // rising edge -> wenn //PORTBx 5v wird while(true) { if (i==100) { LED EIN, WARTREN UND LED AUS i=0; } } }
Worauf meine Vermutung war, dass ich also unter # define F_CPU und #include<...>
Du kannst im Interrupt nicht die lokale Variable einer Funktion verändern. i muss global sein (und das "volatile" nicht vergessen).
noch int voltaile i=0 hinzufügen muss. Soweit korrekt??
Mfg







Zitieren

Lesezeichen