- fchao-Sinus-Wechselrichter AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: RC5-Signal auswerten!?

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739

    RC5-Signal auswerten!?

    Anzeige

    E-Bike
    Hallo Forum,
    Ich möchte gerne meinen PRO-BOT128 über eine Fernbedienung steuern.
    Es bietet sich ja an über den RC5 code zu arbeiten.
    Hier habe ich den Befehl RC5_READ() gefunden. Wenn ich jetzt mit meinem Programm( geschrieben in C-Compact) das auslesen will bekomme ich nur Dezimalzahlen. Ich möchte aber die Binären Code.
    Weiß jemand wie das geht??
    Hier mein Programm:
    Code:
    void main(void)
    {
        PRO_BOT128_INIT();
        RC5_Init(26);
    
        while(true){
            Msg_WriteWord(RC5_Read());
            Msg_WriteChar(13);
            Msg_WriteChar(10);
            AbsDelay(10);
        }
    }
    Wie gesagt, es funktioniert, aber ich möchte den Binären Code haben.

    Mfg
    bnitram

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686

    Re: RC5-Signal auswerten!?

    Zitat Zitat von bnitram
    ... es funktioniert, aber ich möchte den Binären Code haben ...
    Du möchtest das Ergebnis als Binärzahl darstellen? Oder was? Ich verstehe die Frage nicht ganz.
    Bekommst Du den Wert, der die gesamten 14 Bit repräsentiert und willst vielleicht Adresse und Befehl trennen? Das liegt dann an der (fertigen) Routine. Ich habe mir meine Routine selbst geschrieben und bekomme sowohl das Adress- als auch das Befehlsbyte getrennt.
    Ciao sagt der JoeamBerg

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Ja,
    genau.
    Ich möchte die Werte später trennen, da ich dem Start und Toggle-Bit nicht brauche.
    Ich möchte nur den Adress und Commando-Bit als ausgabe haben.

    Mfg
    bnitram

    PS:
    Schonmal Danke für deine Antwort.

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Dann musst Du entweder Deinen 2-Byte-Wert auseinanderklabüseln (das ist eine entsprechende Bitschieberei) und auf 2 8bittige Werte verteilen oder gleich eine eigene Routine schreiben. Ich hatte eben den zweiten Weg gewählt (jetzt verstehe ich auch besser, was dahinter steckt).

    ............Bild hier  
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Weiß du denn wie ich mir einfach den Binären-Code anzeigen lassen kann??

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Zitat Zitat von bnitram
    Weiß du denn wie ich mir einfach den Binären-Code anzeigen lassen kann??
    Ja.
    Ciao sagt der JoeamBerg

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Danke,
    habe es jetzt geschafft.

    Mfg
    bnitram

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Zitat Zitat von bnitram
    Danke, habe es jetzt geschafft ...
    Schön, es gibt ja nix Befriedigenderes als wenns endlich läuft!

    Die beiden Bytes - Adresse und Kommando - hatte ich mir am Terminal anzeigen lassen. Das Adressbyte eher zur Kontrolle, ob nicht mal ein Lesefehler auftrat. Danach habe ich meine IR-Fernsteuerung auf den Kopierer gelegt und eine Fotokopie gemacht. Dann Knopf für Knopf gedrückt und die zugehörigen Kommandobytes auf die Kopie geschrieben. Hilft beim Programmieren der Kommandoauswertung ungemein. Aber so eine Lösung ist Dir vielleicht schon in ähnlicher Weise eingefallen.
    Ciao sagt der JoeamBerg

  9. #9
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Schön, dass es nun funktioniert. Es wäre prima, wenn du uns noch deine Lösung zeigen würdest.

    Übrigens gibt es für das C-Control einen eigenen Bereich im RN-Forum:
    https://www.roboternetz.de/phpBB2/index.php?c=5

    Denn der C-Dialekt von Conrad unterscheidet sich deutlich vom GCC.

    Solange wir noch keine eigene Rubrik für den probot haben, sollte im Titel eines Threads möglichst das Wort "probot" vorkommen. Ganz toll wäre es dann noch, wenn die Beiträge zum probot auch in der "Sonstige Modelle"-Rubrik gepostet werden. Da habe ich nämlich Mod-Rechte und kann dann am Tag X alle Beiträge in die neu geschaffenen Unterrubriken verschieben (oder versehentlich löschen...). Das gilt natürlich auch für nibos, CATs, RAs usw...

    https://www.roboternetz.de/phpBB2/viewforum.php?f=25

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Solange wir noch keine eigene Rubrik für den probot haben, sollte im Titel eines Threads möglichst das Wort "probot" vorkommen. Ganz toll wäre es dann noch, wenn die Beiträge zum probot auch in der "Sonstige Modelle"-Rubrik gepostet werden. Da habe ich nämlich Mod-Rechte und kann dann am Tag X alle Beiträge in die neu geschaffenen Unterrubriken verschieben (oder versehentlich löschen...). Das gilt natürlich auch für nibos, CATs, RAs usw...
    Ja werde ich demnächst beachten.

    Ich habe aus einem Beispielscode den ich durch zufall gefunden habe dann diese Version gemacht:
    Code:
    word RC5_Command;
    word RC5_ExtCommand;
    
    void main(void)
    {
        PRO_BOT128_INIT();
        RC5_Init(26);
    
        while(true){
            RC5_Command = RC5_Read() &0x3F;
            RC5_ExtCommand = RC5_Command | ((RC5_Read() &0x1000) >> 6);
    
            Msg_WriteWord(RC5_Command);
            Msg_WriteText(":");
            Msg_WriteWord(RC5_ExtCommand);
            Msg_WriteChar(13);
        }
    }
    So erhält man dann den Commando Bit und einen zweiten wo ich nicht ganz weiß welcher der ist.Auf jeden Fall braucht man ihn
    (Sonst wären tausend befehle gleich!)

    Mfg
    bnitram

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress