Zusätzliche EVERY-Timer
Die vorhandenen 3 EVERY-Timer sind sehr nützliche Tools zum Einbinden von Hintergrundroutinen in einem Programm. Werden diese aber exzessiv genutzt, könnten die 3 vorhandenen Timer unter Umständen zu wenig sein. Mit einem kleinen Programmtrick ist es jedoch möglich, die vorhandenen AFTER-Timer indirekt auch als EVERY-Timer zu verwenden.
Hierbei wird ein AFTER-Timer ganz normal gestartet. Es muss dann nur sofort nach Eintritt in die Timer-Routine der gleiche AFTER-Befehl nochmals gesetzt werden. So ruft sich diese Routine, ähnlich wie EVERY, immer wieder selbst auf.
Ein kleiner Nachteil dieses Tricks soll auch nicht verschwiegen werden. Da der Computer, nach Eintritt in die Interrupt-Routine, ein wenig Rechenzeit benötigt bis der AFTER-Timer erneut gesetzt wurde, ist die Genauigkeit etwas schlechter als beim EVERY-Timer. Man sollte Routinen, bei denen es auf hohe zeitliche Genauigkeit ankommt, vornehmlich mit EVERY-Timern realisieren.
|
10 AFTER 100,1 GOSUB 50 20 GOTO LINE 50 AFTER 100,1 GOSUB 50 60 PRINT "*";:RETURN |