
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
also das heißt ich lade mit sys &h101 den Quellencode und über spiele zum schluss beide cods ? p1 = on p2 = on ' Dieser Thread hat nur die Aufgabe, den Rechenstack durcheinanderzubringen. #thread1 'print "Hz";freq beep 100,0,0 print "Hz";freq tog p1 goto thread1 ' Im zweiten Thread wird der Stackfehler demonstriert. Durch Aktivieren der ' auskommentierten zwei Befehle wird ein Taskswitch und damit ein Ueber- ' schreiben des Stacks verhindert. #thread2 'gosub maxspeed input w1 tog p2 beep 100,0,0 print "Hz";freq goto thread2 ' Hiermit wird das Taskswitchen fuer rund 5 Sekunden unterbunden, so als ' haette der andere Thread ein PAUSE 255 ausgefuehrt. Diese Subroutine kann ' vor Ausfuehrung zeitkritischer Codeteile aufgerufen werden. Danach sollte ' aber ein PAUSE 0 folgen, um die 5 Sekunden abzukuerzen und zum angehaltenen ' Thread umzuschalten. #maxspeed table maxspeedtab 5120 ' 20*256 + 0 -256 ' 255*256 + 0 4485 ' 17*256 + $8f-$a tabend return ' (Der SYSCODE-Befehl sollte nach einer erfolgreichen Uebertragung ' auskommentiert werden, da das interne EEPROM seinen Inhalt nicht ' verliert. Dadurch muessen bei Veraenderungen am BASIC-Programm ' nicht mehr die "System-Bytes" uebertragen werden. Die Uebertragung ' geht schneller und das interne EEPROM lebt deutlich laenger.) 'syscode "ccbas2mt.s19" Multitasking 'syscode "freq.s19" |
| Antwort schreiben |