mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RC5 dekodierproblem


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe hier eine Philips Fernbedienung die ja bekannter Weise den RC5
Code verwendet.
Ich möchte gerne meinen µC über diese Fernbedienung steuern habe aber
ein Problem beim dekodieren des Signals. (Ich weiß nicht was ich
programmieren soll, das ich ein brauchbares Signal erhalte)

Ich habe leider keinen Interrupt mehr frei und am liebsten währe mir
auch wenn ich keinen Timer brauche - ist aber nicht möglich glaube
ich.
Ich werde wohl den Timer2 dafür nehmen müssen. (keine anderen mehr
frei)

Alle Sourcecodes die ich bis jetzt gefunden habe verstehe ich entweder
nicht so ganz oder ich kann sie nicht bei mir implementieren.

Ich verwende einen ATMEGA128 mit einem TSOP1738 Empfänger der momentan
auf PORTG Pin0 hängt.

Vielleicht kann mir jemand helfen.

DANKE im vorraus.

STEFAN

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bisher habe ich mir folgenden Code ausgedacht.
Jedoch erhalte ich nur immer abwechselnd 0 und 1.

void irda(int status)  //wird ständig in einer Schleife aufgerufen
                       //und in der Variable status wird der
                       //aktuelle Status des Ports übergeben.
{


       if(status & 0x1)
       {
           irdanew = 1;
       }
       else
       {
           irdanew = 0;
       }

       if(irdaold != irdanew) //wenn sich der status geändert hat
       {

    if(irdanew == 1) //wenn der neue status 1 wäre
    {
      lcd_putsf("1"); //schreibt auf dem lcd 1 dazu
    }
    if(irdanew == 0) //wenn der neue status 0 wäre
    {
      lcd_putsf("0"); //schreibt auf dem lcd 0 dazu
    }
       }

       irdaold = irdanew;
}

vermutlich kann dies aus einem mir unbekannten Grund gar nicht
funktionieren.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entweder Du sagst, was Du an den Codebeispiele nicht verstehst, oder Du
denkst Dir selber was aus.

Im letzteren Fall mußt Du Dir aber zuerst auch die Beschreibung des
RC5-Codes durchlesen. Dein Codebeispiel zeigt nämlich, daß Du das auf
keinen Fall getan haben kannst.


Peter

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schade.
Ich habe mir schon gedacht, dass das nicht funktionieren kann.
--> Müll

Mit dem RC5 Code habe ich mich schon näher befasst.

Aber vielleicht kann mir jemand erklären wie ich den code in den µC
einlesen muss.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal hier:

http://home.t-online.de/home/Holger.Heinemann/home...

bzw. mein Beispiel in der Codesammlung.

Peter

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Link - aber die Seite kannte ich schon.
Das Beispiel in der Codesammlung habe ich auch schon durchgewälzt - ich
werde aber auch nicht schlau daraus.
(1. Problem ich finde nicht heraus mit welchem Clock gearbeitet wird)

Vielleicht könntest du mir genau erklären was ich programmieren muss.
Darüber währe ich dir sehr dankbar.

STEFAN

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.