ich habe hier einen AT90S1200 microcontroller. (benutze assembler, nicht C) ich will in diesem den timer overflow interrupt benutzen. bei aufrufen des interrupts soll eine bestimmte prozedur durchgeführt werden. jetzt ist mir im tutorial in dem interrupt-beispiel aufgefallen, daß da irgendwie was mit stack gemacht wird. jetzt die frage: ich habe gehört, daß der AT90S1200 kein sram und somit auch keinen stack haben sollte. ist das schlimm? wird jetzt meine sache mit dem timer overflow interrupt dadurch irgendwie verhindert oder blockiert? muß ich dann da was zusätzliches berücksichtigen? und wenn ich nix extra bei ohne stack berücksichtigen muß, ab wann hätte das mit dem nicht vorhandenen stack denn nachteile für mich bzw. würde dinge unmöglich machen?
Hallo... 1200 hat kein RAM, daher auch kein PUSH/PULL, also keinen Datenstack. Er hat nur einen 3-Level-Programmstack für Rücksprungadressen bei ISR und UP. In der ISR (Interrupt-Service-Routine) muss das Statusregister gesichert werden, damit dem Hauptprogramm nicht die Flags unterm Ar... geändert werden. Dies machen viele Programmierer, indem sie es während der ISR auf Stack legen. Da das beim 1200er mangels RAM nicht geht, kann man das SREG in einem Register zwischenspeichern, das man zweckmäßigerweise exklusiv nur für diesen Zweck benutzt... Bit- & Bytebruch... ...HanneS...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.