Gast
#685913
soll man in der interrupt-routine zb int0 zum schnellen ergebnis kommen und dann sofort raus? oder ist es auch üblich das in der int-rouine weitere proceduren aufgerufen werden?
|
Anzeige
|
proceduren aufrufen im interrupt
Gast
#685913
soll man in der interrupt-routine zb int0 zum schnellen ergebnis kommen und dann sofort raus? oder ist es auch üblich das in der int-rouine weitere proceduren aufgerufen werden? > oder ist es auch üblich das in der int-rouine weitere proceduren > aufgerufen werden? Tunlichst nicht, denn man muss zusätzlich zum Zeitbedarf der Prozedur auch noch den (Zeit-) Aufwand für die Sicherung und Wiederherstellung der benutzten Register rechnen. Am besten im Interrupt nur das zeitlich wirklich wichtige erledigen und für den Rest Flags setzen. Die Flags dann in der Hauptschleife abfragen und die entsprechende Funktion bzw. Prozedur abarbeiten.
Gast
#686009
>> oder ist es auch üblich das in der int-rouine weitere proceduren >> aufgerufen werden? >Tunlichst nicht, Sooo pauschal würde ich das nicht sagen ;) Es soll ja Programme geben die mit leerer main-loop komplett in Interrupts laufen. Es kommt halt auf das Programm an.
Gast
#686013
Hi Das kann man nicht so pauschal beantworten. Wenn du nur einen Timerinterrupt hast,der alle sec kommt und der Controller auch sonst geistig total unterfordert ist, kannst du kBytes in die IS-Routine packen. Je zeitkritischer deine Anwendung ist, desto kürzer sollten deine Routinen sein. Oder nach dem Motto: So lang wie nötig und so kurz wie möglich. MfG Spess Es müssen halt - wie schon gesagt - alle Register gesichert und zurückgeschrieben werden, die in den Unterroutinen benutzt werden. Die ISR selbst muß alle Register sichern und rückschreiben, die sie selber benutzt, vor allem das Status-Register. Das wird gerne mal vergessen, es sei denn, der Compiler nimmt es einem ab. Unter ASM muß man selber ´ran. Das hast du doch schonmal gefragt und schonmal eine Antwort bekommen. Bist du so schusselig? Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|