Moin, wie funktionieren eigentlich externe Interrupts? Ich wollte dafür erstmal den AT90S1200 verwenden. Aus dem Datenblatt hoffe ich entnehmen zu können, dass dafür ein Spannungsimpuls auf Pin 6 (INTO) eingehen muß. Dann sollte, je nach Einstellung des MCUCR, bei Rising oder Fallign edge des Impulses der Interrupt aufgerufen werden. Wie kann ich aber die Interruptroutine einstellen? Das Datenblatt habe ich so verstanden, als ob man den entsprechenden rjmp in die zweite Zeile schreiben muß und dass das eigentliche Programm erst in der fünften beginnt. Und wie ist es mit der weiteren Ausführung nach der Interruptroutine? Springt das Programm dann wieder dahin zurück, wo es in seiner Ausführung unterbrochen wurde? Kann man soetwas bei anderen AVR-Modellern vielleicht mit einem RET erzwinegn? Vielen Dank schonmal, Jörn
Das rjmp muss an der Adresse stehen, die bei dem entsprechenden Interrupt automatisch angesprungen wird (-> steht im Datenblatt). Das kann man durch das "Auffüllen" des Anfangsbereichs mit retis machen, oder z.B. mit ".org INT0addr". Beendet wird deine Interruptroutine dann mit "reti". Eigentlich steht das alles ja auch schon auf http://www.mikrocontroller.net/tutorial5.htm...
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.