simple_multicore_demo2.spin

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Antworten
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

simple_multicore_demo2.spin

Beitrag von PIC18F2550 »

Hallo,

ich habe mich mit dem "simple_multicore_demo2.spin" von Parallax angeschaut und binn dabei auf ein kleines Problem gestoßen.

Code: Alles auswählen

VAR  'Globally accessible variables
  long flag  <------ verwendet wird long

PUB Go  'First public method in the .spin file starts execution, runs in cog 0
  flag := true  <-----gesetzt wird aber nur True/False

PUB Parallel_Routine_1 | counter    'Starts the next available cog
  repeat while flag 
  repeat 10   
    flag := true ''<-- FRAGE WELCHER COG HAT JETZT TRUE
wenn beide COG's syncronlaufen(aufgrund der gleichen Taktversorgung) besteht die Gefahr das beide in flag schreiben!
besser hier solte mit der Cogid gearbeitet werden

Code: Alles auswählen

PUB Go  'First public method in the .spin file starts execution, runs in cog 0
  flag := $FFFF  <---- kein COG gesetzt

PUB Parallel_Routine_1 | counter    'Starts the next available cog
**** Programm ****
:Test
  repeat while !flag=cogid   <-- hatt Cog freigabe?
    if flag==$FFFF              <-- nein flag frei ? nein zurück zum Test
      flag := cogid              <-- ja wenn frei dann setzen
      repeat 10                  <--    warten und zurück zum Test
**** Programm ****
  flag := $FFFF                  <-- wieder freigeben
**** Programm ****
noch nicht getestet so sollte es aber aufgebaut werden.
simple_multicore_demo2.spin
Zuletzt geändert von PIC18F2550 am Sa 22. Okt 2011, 19:57, insgesamt 4-mal geändert.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: simple_multicore_demo2.spin

Beitrag von drohne235 »

Setz mal die Codefragmente in die Code-Tags, dann bleibt die Formatierung erhalten. Die Code-Tags findest du in der oberen Zeile im Forum-Editor. Mit Vorschau kannst du dann schauen wie das dann aussieht, im Bereich /dev/null im Forum kannst du ja mal testen.

Kannst du mal das Demo von Parallax packen und anhängen?

---

Edit: Ich finde dieses Framework für den Einstieg nicht geeignet. Im Blog habe ich mal einige passende Tutorials zusammengefasst.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Antworten