Forum: Mikrocontroller und Digitale Elektronik RC5 dekodierproblem


von Stefan (Gast)


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

von Stefan (Gast)


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.

von Peter D. (peda)


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

von Stefan (Gast)


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.

von Peter D. (peda)


Lesenswert?

Schau mal hier:

http://home.t-online.de/home/Holger.Heinemann/homepage.htm?rc5.htm

bzw. mein Beispiel in der Codesammlung.

Peter

von Stefan (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.