Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Interrupt Kategorie: Programmierung Basic (von Dietmar, Homepage - 4.10.2005 8:23)
 Als Antwort auf Interrupt von John Brenner - 2.10.2005 11:23
Dietmar nutzt:  CC1-M-Unit V1.1, Advanced CC1-Unit, Open-Micro, Open-Mini

Hallo miteinander

wie das mit BASIC-Interruptroutinen auf der C-Control 1.1 funktioniert wird im ZIP-Archiv ONTIMER.ZIP in der Download Area auf der C-Control-intern-Website beschrieben. Das Aufrufen der BASIC-Routinen in periodischen Zeitabstaenden kann man als Zugabe betrachten. Die komfortable Behebung des Stackproblems bei Benutzung einer BASIC-Interruptroutine ist das eigentlich wichtige in diesem ZIP-Archiv:

Allerdings gilt es fuer die Interruptprogrammierung in BASIC eine weitere Huerde zu ueberwinden: Die Interruptroutine und das Hauptprogramm teilen sich den Rechenstack. Da das Betriebssystem der C-Control kein echtes POP kennt, fuehrte jede Stackbenutzung in der Interruptroutine zu Rechenfehlern im Hauptprogramm. Es gab bereits einen Workaround zur Umgehung dieses Problems in der C-Control-intern-Infosammlung, doch war dessen Nutzung kompliziert. Das neue Verfahren bietet dagegen eine komfortable Behebung des Stackproblems: Hauptprogramm und Interruptroutine verfuegen praktisch jeweils ueber einen eigenen Stack. Der Anwender braucht sich um Stackueberlaeufe oder Stackfehler keine Gedanken mehr zu machen. Allerdings wird hierfuer unter anderem der DCF-77-Buffer belegt, so dass DCF-77 nicht mehr benutzt werden kann. Zu diesem Nachteil werden aber einige Empfehlungen gegeben.

> Was heißt " in BASIC und/oder Assembler  ".
> Nur in Basic    oder      in Basic und Assembler ???

Die Formulierung ist so gemeint, daß alle Möglichkeiten offen sind. Man könnte also sogar eine Interruptroutine in BASIC und gleichzeitig eine zweite in Assembler benutzen.

Dietmar

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten: