2016-07-03 12 views
0

Ich versuche Multitasking in PIC18Fs zu verstehen. Ich weiß, dass der Programmzähler in Stack vor Interrupts gespeichert wird und dann nach Beendigung des Interrupts zur selben PC-Adresse zurückkehrt. Wie kann ich den in Stack gespeicherten PC-Wert finden und in einigen Registern speichern, damit ich ihn später wieder verwenden kann? ? z. B. PC-Wert für Task1, Task2 usw.Wie bekomme ich den Wert von Program Counter von Stack auf PIC18F

Antwort

0

Ich denke, AN818 Antworten meine Frage. In einem präventiven Betriebssystem würde ich die TOSU, TOSL, TOSH und STKPTR (zusammen mit anderen Registern) kurz vor dem Ausführen von ISR speichern und von ISR TOSU, TOSL, TOSH und STKPTR mit neuem Wert für die nächste Aufgabe laden. Ich würde gerne weitere Kommentare/Vorschläge/Beispiele dazu begrüßen. Danke