Seite 17 von 20
Re: HBasic
Verfasst: Mo 14. Jan 2013, 10:32
von unick59
Hallo Pic,
ohne das ich den Code aus dem späteren Posting angesehen habe:
Im Ablauf würde ich noch folgendes machen:
Reset
1.COG Spinn startet und schreibt in long Zelle $7FFC -> $FFFFFFFF (Sperrwert)
1.COG Startet 2.COG (PASM)
und wartet bis 2.COG gestartet ist.
2.COG liest long Zelle $7FFC und wartet in schleife bis inhalt $7F7FF7F7 wird.
1.COG schreibt in long Zelle $7FFC -> $7F7FF7F7 (Startwert)
1.COG cogstop(cogid) und ist weg
2.COG Zählschleife(1s) zum Warten bis 1.COG richtig gestopt ist
... Programm übertragen von Zahlen 1-4 an Bellatrix
mfg
Uwe
Re: HBasic
Verfasst: Mo 14. Jan 2013, 13:54
von PIC18F2550
Ich warte schon hier auf COG2.
und hier auch nochmal
habe ich herausgenommen da es der letzte Befehl ist und der 1.COG (SPIN) sowiso in Stop geht.
Re: HBasic
Verfasst: Mo 14. Jan 2013, 13:55
von kuroneko
@PIC18F2550: Wenn es schiefgeht ist die "0" Ausgabe immer an der gleichen Stelle (Zeile/Spalte)?
Re: HBasic
Verfasst: Mo 14. Jan 2013, 13:57
von PIC18F2550
Ja
Re: HBasic
Verfasst: Mo 14. Jan 2013, 14:06
von kuroneko
PIC18F2550 hat geschrieben:Ja
Zeile sieht aus wie 2 (0..N), Spalte ist 'n bisschen schwer zu erkennen auf dem Bild ...
Re: HBasic
Verfasst: Mo 14. Jan 2013, 15:03
von kuroneko
Kannst Du mal in CLS die insn add temp2, #$20 in add temp2, #$40 (oder irgendein anderes druckbares Zeichen) aendern (alles andere so lassen) und dann den Fehlerfall protokollieren?
Re: HBasic
Verfasst: Mo 14. Jan 2013, 16:22
von PIC18F2550
Ausgegeben werden in zeile 1 "01234"+$0
Wede in der Print routine mal was dazu addieren. Da sieht mann bestimmt mehr.
Komme erst heute Abend dazu.

Re: HBasic
Verfasst: Mo 14. Jan 2013, 23:44
von PIC18F2550
kuroneko hat geschrieben:Kannst Du mal in CLS die insn add temp2, #$20 in add temp2, #$40 (oder irgendein anderes druckbares Zeichen) aendern (alles andere so lassen) und dann den Fehlerfall protokollieren?
Dein Tip hat schon besserung gebracht die Seltsamen Ausgaben stammten von Bellatrix da war wohl noch nicht alles richtig geladen.
- VGA.spin
- (4.55 KiB) 553-mal heruntergeladen
Code: Alles auswählen
PUB start
long[T0#LSTAT]:=$FFFFFFFF 'Stop all COG's
byte[T0#BCKM]:=%111 'ckm
byte[T0#BCMX]:=40 'cmx
byte[T0#BCMY]:=30 'cmy
byte[T0#BCMM]:=%000 'cmm
if T0.start
waitcnt(200000000 + cnt) '<<--------------------------
if T0.start2
' if G0.start
' if KY.start
' if MS.start
long[T0#LSTAT]:=$7F7FF7F7 'Run all COG's
cogstop(cogid)
Die Zeit scheint mir etwas hoch sollte der rückgabe wert (if) nicht erst generiert werden?
Wielange braucht ein COG vom Starten bis er mit der Arbeit beginnt?(takte 2x512)
Re: HBasic
Verfasst: Di 15. Jan 2013, 00:02
von PIC18F2550
Naja doch noch nicht alles so wie es sein sollte.
Nach einem Reset scheint alles richtig zu sein.
nur wenn ich den neuen Code flashe dann kommt noch das raus.
Ich werd erstmal sehen wie ich die warteschleifen aus dem Spinn entfernen kann.
Re: HBasic
Verfasst: Di 15. Jan 2013, 00:23
von kuroneko
PIC18F2550 hat geschrieben:Wielange braucht ein COG vom Starten bis er mit der Arbeit beginnt?(takte 2x512)
cognew kommt so gut wie gleich wieder zurueck. Der gestartete cog nimmt erst nach 512x16 Takten seine Arbeit auf (496 insn, 16 blanks).