Fragen zu SPIN
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Fragen zu SPIN
Hi,
Ich hätte eine Frage zu dem outa[..] Befehl.
Ich habe volgende schreibweisen gefunden
out[10]:=%0 --> P10 auf 0 Setzen
out[10..8]:=%101 ---> P10 & P8 auf 1 und P9 auf 0 Setzen
Bis hier her ist alles Klar
Aber gibt es auch sowas?
out[22,7..0]:=%1_00000000 --> P22 auf 1 P7-P0 auf 0 Setzen
Ich hätte eine Frage zu dem outa[..] Befehl.
Ich habe volgende schreibweisen gefunden
out[10]:=%0 --> P10 auf 0 Setzen
out[10..8]:=%101 ---> P10 & P8 auf 1 und P9 auf 0 Setzen
Bis hier her ist alles Klar
Aber gibt es auch sowas?
out[22,7..0]:=%1_00000000 --> P22 auf 1 P7-P0 auf 0 Setzen
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
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
Re: Fragen zu SPIN
Nein. Wie sieht's hiermit aus?PIC18F2550 hat geschrieben:Aber gibt es auch sowas?
out[22,7..0]:=%1_00000000 --> P22 auf 1 P7-P0 auf 0 Setzen
Code: Alles auswählen
dira := |< 22 | %11111111
outa := -256
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: Fragen zu SPIN
Hi kuroneko,
wackelt das nicht an den restlichen Pins?
z.Z. löse ich das noch so da der HIVE nur einen 8Bit Bus hatt (missbrauch der Taktleitung als 9. Bit)
in PASM geht das mit 2 Befehlen ungefähr so:
...
andn outa, $FF
or outa, DC
...
DC long 22
wackelt das nicht an den restlichen Pins?
z.Z. löse ich das noch so da der HIVE nur einen 8Bit Bus hatt (missbrauch der Taktleitung als 9. Bit)
Code: Alles auswählen
PUB putchar_adm(c) 'bus: byte an Administra senden
if c>255
outa[HW#DC]:=1
outa[HW#BUS_WR]:= 0 '/WR
outa[HW#DB]:= c &$FF 'daten --> dbus
dira[HW#DB]:= HW#DB 'Datenbus auf Ausgabe schalten
outa[HW#REG_ADM_CS]:= 0 '/CS
waitpeq(HW#BUS_HS,0,0) 'hs=0?
waitpeq(HW#BUS_HS,HW#BUS_HS,0) 'hs=1?
outa[HW#REG_ADM_CS]:= 1 '/CS
outa[HW#BUS_WR]:= 1 ' WR
dira[HW#DB]:= 0 'Datenbus auf Eingabe schalten
outa[HW#DC]:= 0
...
andn outa, $FF
or outa, DC
...
DC long 22
- Dateianhänge
-
- HW-DEF.spin
- (3.76 KiB) 672-mal heruntergeladen
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
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
Re: Fragen zu SPIN
Nur wenn noch andere Bits auf Ausgang geschaltet sind (war nicht ganz so offensichtlich). Sonst ist es vollkommen egal was Du nach outa schiebst.PIC18F2550 hat geschrieben:wackelt das nicht an den restlichen Pins?
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: Fragen zu SPIN
sorry
mein Ausdruck muss ich dringend Verbessern.
Ich versuche immer davon auszugehen das der Prop ja mehrere prozesse gleichzeitig macht.
Hatt mich auch eine Menge Lehrgeld gekostet wenn jedesmal ein anderer Prozess in sie Suppe gespuckt hatt.

Ich versuche immer davon auszugehen das der Prop ja mehrere prozesse gleichzeitig macht.
Hatt mich auch eine Menge Lehrgeld gekostet wenn jedesmal ein anderer Prozess in sie Suppe gespuckt hatt.
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
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
Re: Fragen zu SPIN
Was in einem anderen cog passiert ist nicht relevant solange zwei oder mehrere cogs nicht die gleichen Pins ansteuern. Zum Beispiel, wenn cog 4 nur Pins 0 und 17 ansteuert (als einziger cog) dann wird dira im cog 4 auf (|< 17 | |< 0) gesetzt. Danach kannst Du beide Pins z.B. mit $00020001 auf 1 setzen oder aber auch mit -1.PIC18F2550 hat geschrieben:Ich versuche immer davon auszugehen das der Prop ja mehrere prozesse gleichzeitig macht.
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: Fragen zu SPIN
Ich glaub mal was gelesen zu haben das die logische verknüpfung(oder) der Ausgänge durch die Reihenfolge der einzelnen COG-I/O's das Ergebnis an den Pinns bestimmt.
Propeller Manual v1.1 Page 27 (Note unter Tabelle 1-4) ich hoffe ich hab das da richtig verstanden.
Kann das die ursache sein das andere Systeme versuchen die zuordnung der COG's zur Software selber zu bestimmen?
Mein Problem besteht aber nur in der tatsache das das 9 Bit nicht an das 8. Bit anreiht und sich dazwischen noch weitere outputpins befinden.
So jetzt schnell zu Mutti und Kaffe trinken dort warten schon alle auf mich.
Propeller Manual v1.1 Page 27 (Note unter Tabelle 1-4) ich hoffe ich hab das da richtig verstanden.
Kann das die ursache sein das andere Systeme versuchen die zuordnung der COG's zur Software selber zu bestimmen?
Mein Problem besteht aber nur in der tatsache das das 9 Bit nicht an das 8. Bit anreiht und sich dazwischen noch weitere outputpins befinden.
So jetzt schnell zu Mutti und Kaffe trinken dort warten schon alle auf mich.

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
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
Re: Fragen zu SPIN
Stimmt (wired-OR). Daher meine Einschraenkung bezueglich gleicher Pins von verschiedenen cogs.PIC18F2550 hat geschrieben:Ich glaub mal was gelesen zu haben das die logische verknüpfung(oder) der Ausgänge durch die Reihenfolge der einzelnen COG-I/O's das Ergebnis an den Pinns bestimmt.
???PIC18F2550 hat geschrieben:Kann das die ursache sein das andere Systeme versuchen die zuordnung der COG's zur Software selber zu bestimmen?
Dumm gelaufen, dann musst Du alles von Hand machen. Aber man kann auch die Counter fuer derartige Dinge verwenden. In Deinem Fall glaub ich aber, dass normales Zusammenstueckeln einfacher ist.PIC18F2550 hat geschrieben:Mein Problem besteht aber nur in der tatsache das das 9 Bit nicht an das 8. Bit anreiht und sich dazwischen noch weitere outputpins befinden.
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: Fragen zu SPIN
So diese 2 Zeilen sollten das Proplem Lösen
Vieleicht lässt sich drohne235 überzeugen in einer neuen revision auf einem 9 Bit Bus zu setzen.
Da er die Parrameter und Commandos sowieso auslagert dürfte das kein Problem mehr sein.
Code: Alles auswählen
PUB putchar_adm(c)| d 'bus: byte an Administra senden
' ANPASSUNG AN HIVE HARTWARE +++++++++++++++++++++++++++++++++++++++++++++++++++++
outa[HW#DC] := ((c & %1_00000000) << HW#DC - 9)
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
outa[HW#BUS_WR]:= 0 '/WR
outa[HW#DB]:= c & $FF 'daten --> dbus
dira[HW#DB]:= HW#DB 'Datenbus auf Ausgabe schalten
outa[HW#REG_ADM_CS]:= 0 '/CS
waitpeq(HW#BUS_HS,0,0) 'hs=0?
waitpeq(HW#BUS_HS,HW#BUS_HS,0) 'hs=1?
outa[HW#REG_ADM_CS]:= 1 '/CS
outa[HW#BUS_WR]:= 1 ' WR
dira[HW#DB]:= 0 'Datenbus auf Eingabe schalten
outa[HW#DC]:= 0
PUB getchar_adm: wert 'bus: byte vom Administra empfangen
outa[HW#REG_ADM_CS]:= 0 '/CS
waitpeq(HW#BUS_HS,0,0) 'hs=0?
wert := ina[HW#DB] 'daten einlesen
outa[HW#REG_ADM_CS]:= 1 '/CS
waitpeq(HW#BUS_HS,HW#BUS_HS,0) 'hs=1?
' ANPASSUNG AN HIVE HARTWARE +++++++++++++++++++++++++++++++++++++++++++++++++++++
wert := (wert & $FF) + ((wert >> HW#DC - 9) & %1_00000000)
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Da er die Parrameter und Commandos sowieso auslagert dürfte das kein Problem mehr sein.
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
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
Re: Fragen zu SPIN
Denk nochmal in Ruhe darueber nach, besonders ueber das spr[a..b] Format. Nebenbei, << ist staerker als +, davon abgesehen, ich glaube Du meinst outa[HW#DC] := c >> 8.PIC18F2550 hat geschrieben:So diese 2 Zeilen sollten das Proplem Lösen