Externer Interrupt bei AT90S1200?

Gast #21520
Lesenswert?

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
Admin Persönliche Seite #21521
Lesenswert?

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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren