08.4.2007
Morgens
Ich habe nun gelernt, das der erste PUB-Block im Programm das Hauptprogramm ist. Alle darunter stehenden PUB/PRI Blöcke sind scheinbar nur Unterroutinen. Jedenfalls hört das Programm einfach auf zu laufen, wenn der erste PUB Block abgearbeitet wurde. Aus den darunterliegenden Blöcken kehrt das Programm scheinbar ohne jeden ‘RETURN’ Befehl automatisch zum Hauptprogramm zurück nachdem diese aufgerufen wurden.
Später Nachmittag
Ich habe beschlossen, die einzelne LED an Port 0 wieder auszubauen und dafür eine 7-Segment Anzeige zu verwenden. Jetzt 17:28 bin ich fertig damit und alles funktioniert einwandfrei. Die Anzeigeelemente A bis G hängen an den Ports P16 bis P22 und der Digitalpunkt (DP) hängt am P23. Ich hatte mich zuerst mit dem Wiederstands-Array vertan. Vor jede LED der 7-Segment Anzeige muß ja ein Wiedertand. Ich hatte erst ein Array mit 8 Eingängen aber einem gemeinsamen Ausgang verwendet. Früh bemerkte ich den Fehler und fand auf dem Speicher noch ein 8fach Array im gelben DIP-16 Gehäuse. Danach habe ich mich auch noch bei der Wirewrap Verdrahtung vertan, indem ich vergaß die Wiederstände zwischen zu schalten. Nach Bereinigung der Fehler funktionierte alles sehr gut.
18:20
Nun habe ich eine Unterroutine geschrieben, an die man einfach eine Zahl von 0 bis 15 (Hex) übergibt und diese dann den Wert auf der 7-Segment Anzeige ausgibt (0 bis 9 und A bis F). Das klappt wunderbar.
19:30
Ich habe es soeben geschafft einen zweiten Cog zu starten. Es laufen also zwei CPU’s parallel. Die eine lässt den Dezimalpunkt blinken und die andere zählt Zahlen hoch. Cool !!
Komischerweise muss die im neuen Cog gestartete Routine im Hauptprogramm stehen und darf nicht in einer externen Subroutinen Datei sein. Schade der Ordnung wegen.
19:55
Einen dritten Cog zu starten geht genau so einfach.