Fragen zur Spinn-Syntax

Alles andere hier herein
Antworten
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Fragen zur Spinn-Syntax

Beitrag von PIC18F2550 »

1.

Code: Alles auswählen

  sock[3]       : "api_telnet_serial"
Was neues gefunden ---> [3]
Bedeutet das das dieses Codesegmend 3x eingebunden wird und trennt BST dann auch die Variabeln?

2.

Code: Alles auswählen

\sock[0].listen(80, @tcp_webrx1, rxlen, @tcp_webtx1, txlen)
Für was steht "\" ?
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: Fragen zur Spinn-Syntax

Beitrag von drohne235 »

Für was steht "\" ?
Steht für den Austrittspunkt bei einem Abort-Kommando.
"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
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Fragen zur Spinn-Syntax

Beitrag von PIC18F2550 »

So langsam verstehe ich :D

"\" ist ein Merker und bei einem abort springt er über alle zwischenzeitlich Routinen bis zum "\" hinauf.

PUB sub
\sub1
... <----- Wiedereintritt nach Rücksprung

PUB sub1
sub2

PUB sub2
aport ---> Rücksprung
Zuletzt geändert von PIC18F2550 am Do 14. Jun 2012, 08:27, insgesamt 1-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
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: Fragen zur Spinn-Syntax

Beitrag von kuroneko »

PIC18F2550 hat geschrieben:

Code: Alles auswählen

  sock[3]       : "api_telnet_serial"
Was neues gefunden ---> [3]
Bedeutet das das dieses Codesegmend 3x eingebunden wird und trennt BST dann auch die Variabeln?
Eingebunden wird es nur einmal aber Du bekommst drei Instanzen des Treibers (sock[0], sock[1], sock[2]). Ist nichts anderes als

Code: Alles auswählen

  sock_1       : "api_telnet_serial"
  sock_2       : "api_telnet_serial"
  sock_3       : "api_telnet_serial"
Letzteres macht sich u.U. nicht so gut da Du Objekte immer mit Namen ansprechen musst, die erste Variante braucht nur den Index, e.g.

Code: Alles auswählen

  sock_1.stop
  sock_2.stop
  sock_3.stop
' vs
  repeat n from 0 to 2
    sock[n].stop
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Fragen zur Spinn-Syntax

Beitrag von PIC18F2550 »

kuroneko hat geschrieben:Eingebunden wird es nur einmal aber Du bekommst drei Instanzen des Treibers (sock[0], sock[1], sock[2]). Ist nichts anderes als

Code:
sock_1 : "api_telnet_serial"
sock_2 : "api_telnet_serial"
sock_3 : "api_telnet_serial"
Das mit den Instanzen finde ich gut.
Was mir aber bei meinem QadrocopterProjekt auf gefallen ist das er die Variabeln von

Code: Alles auswählen

  sock_1       : "api_telnet_serial"
  sock_2       : "api_telnet_serial"
  sock_3       : "api_telnet_serial"
durch die innere optimierung zusammengeworfen hatt.

Wenn z.B.: in sock_1 eine Variabel V1 im VAR Bereich definiert wurde so griffen sock_2 und sock_3 mit auf diese zu.
Obwohl sie ihre eigene V1 definieren.
Das [3] Trennt jetzt sauber auch diese Variaveln.

Wie sieht das mit dem PASM Code aus werden hier auch Instanzen gebildet?

Was mir aufgefallen ist das BST die Anzahl der instanzen mit den Aufruf parrameter nicht Überprüft.
Ich derfiniere 3 Instanzen kann aber z.B. 9 Instanzen im Programm Aufrufen :shock:
Da muss ich ja richtig Aufbassen. :mrgreen:
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
Antworten