PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wann wird ein Interrupt ausgelöst?



CKroll
28.08.2004, 15:55
Hi,
ich habe da mal eine Frage. Nehmen wir an, an meinem Port wird durch eine Flanke ein Interrupt ausgelöst. Wann reagiert der PIC auf diesen Interrupt? Sofort wenn das Ereignis eintritt oder erst bei seinem eigenen Takt.
Um dies etwas verständlicher auszudrücken: Der PIC arbeitet alle Befehle im "Rhythmus" seines Taktes ab. Aber wie sieht das mit den Interrupts aus? Hängt die Erkennung ob ein Interrupt ausgelöst wurde von dem Systemtakt ab, oder springt der PIC sofort in die Interrupt-Routine?

Schonmal Danke, falls mir jemand weiterhelfen kann.

Gruß CKroll

Jooker
28.08.2004, 19:09
Normalerweise wird der gerade laufende Befehl noch abgearbeitet
und dann wird in die Interruptroutine gesprungen.
Je größer daher der Systemtakt ist unso schneller wird der letzte Befehl abgearbeitet.

BlackBox
08.09.2004, 08:16
Der Einsprung in die ISR dauert "genau" 3 bis 4 Maschinentaktzyklen, je nachdem wann der Interupt genau auftritt. Ob es sich um einen 1 oder 2-Zyklen Befehl (Sprungbefehle brauchen zwei) ist egal.

BlackBox