Kanalschalter

dg2ygq

Neues Mitglied
23. Juli 2007
239
0
0
Bielefeld
Sprachen
Ich habe einen Kanal-Schalter eines alten CB-Gerätes mit 12 Positionen.
Dieser Schalter hat 5 Kontakte, Binärwerte von 4 bis 17 (befinden sich 2 "hopser" drin).
Nun möchte ich daraus ein Up bzw Down Signal auslesen, also hoch für rechts- und runter für links-drehung.
Ich lese also nun den Port aus, an welchem sich der Schalter befindet, und vergleiche die neue Schalterstellung mit der alten.
Je nach dem ob diese Variable nun größer oder kleiner ist, springe zum jeweiligen Unterprogramm.
Wenn ich aber nun auf Stellung 17 bin, kommt die 4, die ja kleiner ist, die Drehrichtung aber höher ist.

Nun habe ich diesen Code:
Code:
   Bitwait Pina.5 , Reset
   Waitms 20
   Schalter_a = Pina
   Schalter_a = Schalter_a And &B00011111 'nur die ersten 5 pins

   If Schalter_a = 4 And Schalter_b = 17 Then Gosub Rauf
   If Schalter_a = 17 And Schalter_b = 4 Then Gosub Runter
   If Schalter_a > Schalter_b Then Gosub Rauf
   If Schalter_a < Schalter_b Then Gosub Runter

   Schalter_b = Schalter_a
 Return
Pina.5 ist ein Kontakt, der auf Low geht, sobald der Kanalschalter eingerastet ist.

Irgentwie macht das Programm nur Murks, findet ihr den Fehler?
 
Okiiiiiiii, Fehler gefunden :D

Im Unterprogramm "Rauf" und "Runter" habe ich Schalter_b noch einmal mit dem Inhalt von Schalter_a gefüttert, somit wird die 3. bzw 4. If-Zeile übersprungen ;)
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)