GetRC5 zu langsam

Gast #1614709
Lesenswert?

Hallo.
Ich möchte den RC5-Code meiner Fernbedienung in Bascom auslesen.
Das funktioniert auch ganz gut mit dem Befehl GetRC5.
Nun habe ich das Problem, dass GetRC5 sehr lange braucht.
Es hält mein gesamtes Programm auf!

Gibt es eine andere Möglichkeit, den Code herauszufinden?
http://www.sprut.de/electronic/ir/rc5.htm

Danke.
#1614809
Lesenswert?

Peter Dannegger schrieb:
>> Ich denke da wird einfach beim Interrupt nach eine festen Zeit jedes Bit
>> ausgelesen.
> Stimmt.

Wenn Du Deine Routinen (rc5.zip in o.a. Thread meinst), stimmt das ja 
nicht wirklich, denn da berechnest Du jedes Bit aus dem Abstand der 
Flanken. Du liest lediglich den Eingang mit einem festen Zeitraster aus 
- das meinte Denny aber IMO nicht.

>> Das gefällt mir allerdings nicht sooo gut.
> Das ist aber Dein Problem.

Mir gefällt das sehr gut, denn diese Routinen haben die beste korrekte 
Erkennung (und vor allem die geringste Falscherkennung) aller 
RC5-Receiver, die mir bisher untergekommen sind. Und das sind viele :-)

Axel.
Persönliche Seite #1614836
Lesenswert?

Wie lange ist sehr lange? Gibt es Unterschiede für den Fall, dass kein 
RC5 Code anliegt (Timeout), d,h, ist GetRC5 schneller, wenn ein RC5 Code 
kommt?

Dann bräuchtest du doch GetRC5 nur aufzurufen, wenn wirklich ein RC5 
Code kommt. Ob einer kommt kannst du abfragen, wenn du das Signal auf 
der Leitung vom RC5-Empfänger zum AVR beobachtest. Im Ruhezustand ist 
diese Leitung HIGH. Das Abfragen an sich kannst du mit Polling oder im 
Interrupt machen.

Es kann sein, dass durch das eigene Abfragen das erste Bit der ersten 
Sequenz verloren geht, hängt davon ab, wie schnell dann GetRC5 
aufgerufen wird und wie diese Bascomfunktion programmiert ist. Aber die 
Sequenzen werden normalerweise mehrmals gesendet, so dass du doch eine 
gültige erwischen wirst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren