Suchfunktion in Bascom

OP #1850442
Lesenswert?

Guten Abend allerseits!

Mal wieder macht sich bei mir ein Problem breit. Ich weiss nicht, wie 
ich in Bascom nach Variablen suchen soll.

Das klingt verwirrend, und dehalb hier einmal die Sache, die ich gerne 
machen möchte.

Ich habe 4 LWL- Sender und 4 LWL- Empfänger.
Nun sende ich ein Signal auf dem LWL- Kanal 1.
Jetzt frage ich die Eingänge ab, ob da was ankommt.
Dem betreffenden Eingang wird eine Variable zugeordnet, sagen wir 
logischerweise mal eine 1.
So, nun mache ich das selbe mit den anderen Sendern und Empfängern, bis 
ich schlussendlich alle Kanäle zugeordnet habe.
Jetzt befindet sich hinter jedem LWL- Sender einen Taster und hinter 
jedem Empfänger eine LED.
Wenn ich jetzt herausfinden will welcher Eingang welchem Ausgang 
entspricht, dann Drücke ich den Taster und die LED hinter dem Empfänger 
leuchtet auf.

Das wäre mal die Grundfunktion, später möchte ich dieses Prinzip 
ausbauen, deshalb mach ich es "kompliziert".
Es ist mir schon klar, dass ich das auch einfach so machen könnte, ein 
Taster zwischen Spannungsquelle und LWL- Sender, betätigt man ihn gibt 
der Empfänger ein Signal aus, und voila.
Aber wie gesagt, da das einfach mal die Grundfunktion ist, möchte ich es 
mit einem uC und einer Suchfunktion lösen.

Ich habe da an die Funktion: "LOOKDOWN" gedacht, ich habe allerdings 
kleine Ahnung ob ich da am richtigen Ort bin.


Ich hoffe ihr habt eine Idee oder könnt mir sagen dass ich mit diesem 
Befehl auf der richtigen Spur bin.

Im Anhang ist mein bisheriger Teil- Code angefügt.


Freundliche Grüsse
#1850866
Lesenswert?

Andi K. schrieb:
> Ich habe da an die Funktion: "LOOKDOWN" gedacht, ich habe allerdings
> kleine Ahnung ob ich da am richtigen Ort bin.
>

Vielleicht eher "lookup" (-Tabelle) als lookdown?


> ...
>
> Im Anhang ist mein bisheriger Teil- Code angefügt.

Scheint ja nicht viel zu sein :-)

(Macht aber nichts, weil BASCOM hier eher wenig verbreitet ist.
Viel Hilfe würde ich mir davon nicht versprechen.)
#1850877
Lesenswert?

n paar Bascommer gibts hier schon, aber das Problem hab ich dennoch 
nicht verstanden.

Du hast also variable Ein- und Ausgänge, die dynamisch miteinander 
verknüpft werden sollen.
Ich würde es per Array lösen.

dim eingaenge (8) as byte
dim ausgaenge (8) as byte

wenn die Eingänge alle auf einem Port liegen kannst Du die Abfrage recht 
einfach gestalten.

for Kanal=1 to 8
for zaehler=1 to 8
' jetzt kommt n basic Pferdefuß
decr zaehler
if pinx.zaehler=1 then
eingaenge (zaehler)=Kanal
else
incr zaehler
endif
next
next

und am Ende steht in dem Array welcher Port welchem  Kanal zugeordnet 
ist.

in der Abfrage gehts dann umgekehrt

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren