So isses.. ISR immer fertig gemacht ..
Auch das könnte hinkommen...die gebraucht werden, um die Register zu speichern .
Nur das mit den 992 Zyklen am Ende ics mit jetzt auch nicht klar
Hallo Leute
Ich quäle mich gerade mit einer ISR Funktion rum und hätte da ein paar Fragen:
Wie finde ich raus, wie lange meine ISR braucht ?
Gehe dazu in den Simulator und setze einen Preakpoint bei dem Einsprung der ISR
Z.B. bei
@ Anfang:
Wenn ich hier auf Einzelschritt drücke, habe ich als erster schon mal 53cyclen drauf!!
Sind das die, die gebraucht werden, um die Register zu speichern ?
Und beim Einzelschritt beim Return (am Ende) habe ich auch gleich + 992 Cyclen
ich schätze mal, dass ich die alle zu der ISR rechnen muss ?!
---------------
Andere Frage:
Wird eine ISR vom eigenen Überlauf abgebrochen (wenn er zu kurz ist), oder wird die eigene ISR immer fertig gemacht und erst dann darf der Überlauf wieder wirken ?
Bitte um Hilfe
l.G. Roberto
So isses.. ISR immer fertig gemacht ..
Auch das könnte hinkommen...die gebraucht werden, um die Register zu speichern .
Nur das mit den 992 Zyklen am Ende ics mit jetzt auch nicht klar
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hallo Robert
Jetzt wollt eich es genau wissen.
Habe dann mit einer leeren ISR angefangen.
53 Cyclen beim reinspringen, 57 bei raus. (Simulator)
Dann weiter rangetastet bis zum originalen Quellcode...
Jetzt habe ich noch immer 53/57 ??!
Komische..
Irgendwie spinnt der Simulator
l.G. Roberto
Könnte mir vorstellen, daß er den Call auf die ISR nicht zählt, sonder erst ab "Label". Den RETI mit 4 Cycles (glaub ich) wird er aber wohl schon rechnen, die Schweinebacke, die.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
@Roberto
Eine normale Bascom-ISR sieht so aus:
zähl mal die Push/Pop Takte ausCode:push r0 push r1 push r2 push r3 push r4 push r5 push r7 push r10 push r11 push r16 push r17 push r18 push r19 push r20 push r21 push r22 push r23 push r24 push r25 push r26 push r27 push r28 push r29 push r30 push r31 in r24, SREG push r24 ... 'Code pop r24 out SREG, r24 pop r31 pop r30 pop r29 pop r28 pop r27 pop r26 pop r25 pop r24 pop r23 pop r22 pop r21 pop r20 pop r19 pop r18 pop r17 pop r16 pop r11 pop r10 pop r7 pop r5 pop r4 pop r3 pop r2 pop r1 pop r0 reti![]()
Lesezeichen