Forum: Mikrocontroller und Digitale Elektronik Externer Interrupt bei AT90S1200?


von Jörn (Gast)


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

von Andreas S. (andreas) (Admin) Benutzerseite


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

von Jörn (Gast)


Lesenswert?

... da nachzuschauen habe ich natürlich vergessen.

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
Noch kein Account? Hier anmelden.