-         

Ergebnis 1 bis 6 von 6

Thema: RC5: eine Taste der Fernb., abwechselnd 2 verschiedene werte

  1. #1

    RC5: eine Taste der Fernb., abwechselnd 2 verschiedene werte

    Anzeige

    Hi,

    Ich versuche momentan einiges mit IR zu steuern (RC5)

    ich benutze den code von Peter Fleury für RC5 decodieren.
    (wenn's interessiert hier kann man's downloaden: http://homepage.sunrise.ch/mysunrise...c-examples.zip )

    Jetzt ist mir aufgefallen, das wenn ich mehrmals auf die gleiche Taste auf der Fernbedienung drücke das abwechselnd 2 verschiedene Werte raus kommen.

    Haben die beiden Werte irgend ein Zusammenhang? (kann man von einem wert durch eine bestimmte Rechnung auf den Anderen Wert kommen?)

    oder sind es einfach 2 unterschiedliche Werte ohne Zusammenhang?

    Wie kann ich das denn jetzt so Programmieren, das ich bei jedem drücken der Fernbedienungstaste im µc "reagieren" kann ohne das ich für jede Taste beide Werte speichere?

    Gruß

    MaN

  2. #2
    scheint so als hätte ich meine Frage gerade selber geklärt:

    wenn ich z.B. power drücke ergibt das einmal die Zahl 0x328C und einmal 0x3a8C

    bei CH+ 0x3aa0 -- 0x32a0
    bei vol+ 0x3a90 -- 0x3290


    und immer so weiter.

    Also ändert sich immer die 2. stelle entweder in 2 oder a.


    Ich denke mal das ist dafür da das man erkennen kann ob man die Taste gedrückt hält oder neu gedrückt hat.

    Aber wie kann ich jetzt die Zahl 0x328c in 0x3a8c umrechen?
    reicht da einfach 0x328c + 0x0800 ?

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Zitat Zitat von MaN
    Ich denke mal das ist dafür da das man erkennen kann ob man die Taste gedrückt hält oder neu gedrückt hat.

    Aber wie kann ich jetzt die Zahl 0x328c in 0x3a8c umrechen?
    reicht da einfach 0x328c + 0x0800 ?
    Genau: Um zu sehen, ob es der gleiche Testendruck ist (oder nur, weil zB das Signal kurzzeitig verdeckt war). RC5-Standard

    Umrechnen kannst du mit ^ (XOR)

    Bit kippen: a = b ^ 0x0800;
    Bit setzen: a = b | 0x0800;
    Bit Löschen: a = b & 0xf7ff;
    Disclaimer: none. Sue me.

  4. #4
    was bedeutet bit kippen?

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Mit "kippen" meine ich toggeln, also auf 0 wenn's vorher 1 war und auf 1 wenn's vorher 0 war.
    Plus (+) zu nehmen ist keine gute Idee, weil das nicht bitweise operiert. Für manche Werte setzt + zwar das Bit und - löscht es, aber bei nem Übertrag geht's in die Hose.
    Disclaimer: none. Sue me.

  6. #6
    Viele Dank! sowas hab ich schon ewig gesucht

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •