mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Suchfunktion in Bascom


Autor: Andi K. (aykay90)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch doch mal, dein Problem so zu beschreiben, daß man es wenigstens 
ansatzweise versteht.

Vermutlich verstehst du es dann auch selber, und findest die Lösung.

Oliver

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht 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.)

Autor: Weingut Pfalz (weinbauer)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.