11.04.2007
Jetzt weiss ich auch wie man im Propeller Chip Variablen zwischen den Cogs austauscht. Mit folgendem Programm kann man es gut verfolgen.
var
long stack1[6] ‘stack für 2. cog reservieren
dat
buffer byte $FF ‘1 byte puffer belegen (Datenaustausch zwischen den Cogs)
obj
ext : “external”
pub main
byte[@buffer]:=7 ‘byte an adresse @buffer auf 7 setzen
ext.sieben(byte[@buffer]) ‘zum test die 7 anzeigen
waitcnt(clkfreq+cnt)
ext.sieben(0) ‘einfach danach eine 0 anzeigen
waitcnt(clkfreq+cnt)
cognew(getn,@stack1) ‘2. cog starten und getn aufrufen
repeat ‘ab hier schleife für den 1. cog die ständig den wert
ext.sieben(byte[@buffer]) ‘an adresse @buffer ausliest und anzeigt
pub getn ‘routine für den 2. cog
repeat 4 ‘4x die schleife wiederholen
byte[@buffer]:=byte[@buffer]+1 ‘zum byte an adresse @buffer 1 hinzu addieren
waitcnt(clkfreq+cnt) ‘warten da sonst zu schnell addier würde