PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RC5 - Empfang funktioniert nicht



Enrico3
01.01.2005, 15:04
Hallo,

ich bin gerade dabei meinen µC mit einem IR-Empfänger (TSOP1736) aufzurüsten. Leider bekomme ich im Terminalprogramm vom Computer immer nur angezeigt, dass die Adresse "127" ist und das Komando "255".
Hier mein Programmcode:



$regfile = "2313def.dat"
$crystal = 3686400
$baud = 9600
$lib "mcsbyte.lbx"

Config Rc5 = Pind.2
Enable Interrupts

Dim Address As Byte , Command As Byte

Do
Getrc5(address , Command)
Command = Command And &B01111111
Print "Adresse: " ; Address ; "Komando: " ; Command
Loop
End


Angeschlossen habe ich den TSOP direkt an PinD.2
Das einzige was mir aufgefallen ist, ist dass wenn ich eine Taste auf der Fernbedienung drücke die Schleife schneller abläuft. Das erkenne ich daran, dass auch die Zeilen im Terminalprogramm schneller aufgebaut werden.
Für Hilfe wäre ich sehr dankbar.

Grüße
Enrico

01.01.2005, 15:44
Pullup Widerstand drin oder den internen eingeschaltet ???

Enrico3
01.01.2005, 15:54
habe den internen jetzt eingeschalten:

$regfile = "2313def.dat"
$crystal = 3686400
$baud = 9600
$lib "mcsbyte.lbx"

Ddrd.2 = 0
Portd.2 = 1

Config Rc5 = Pind.2
Enable Interrupts

Dim Address As Byte , Command As Byte

Do
Getrc5(address , Command)
Command = Command And &B01111111
Print "Adresse: " ; Address ; "Komando: " ; Command
Loop
End



Leider genau das selbe Ergebnis.
Stimmt der Code denn überhaupt, oder liegt da schon ein Fehler?

Grüße und danke
Enrico

recycle
01.01.2005, 16:44
Leider bekomme ich im Terminalprogramm vom Computer immer nur angezeigt, dass die Adresse "127" ist und das Komando "255".

Dein Quelltext zeigt bei meinen Schaltungen auch immer dieselbe Adresse und dasselbe Kommando an, ohne dass ich überhaupt eine Taste auf der Fernbedienung drücke.
Wenn ich eine Taste drücke, wird zwar die richtige Adresse und das richtige Kommando angezeigt, huscht aber so schnell über den Bildschirm, dass man es zwischen den anderen Werten kaum sieht.
Filter doch mal alle command=255 oder Adress = 127 raus.

Ich habe unten mal den Quelltext leicht abgeändert. So werden bei mir die korrekten Ausgaben angezeigt.
Die ersten 5 Zeilen musst du natürlich auf deine Konfiguration anpassen.

$crystal = 10000000
$regfile = "M16def.dat"
$baud = 19200
$lib "mcsbyte.lbx"
Config Rc5 = Pina.0

Enable Interrupts

Dim Address As Byte , Command As Byte
Dim Zaehler As Byte

Zaehler = 0
Print "Waiting for RC5..."

Do
Getrc5(address , Command)

If Address < 255 Then
Incr Zaehler
Print Address ; " " ; Command ; " ---------- " ; Zaehler
End If
Loop
End

Enrico3
01.01.2005, 19:00
Hallo,

danke für die Hilfe. Der Empfang funktioniert jetzt. Wobei ich mich eigentlich nicht vorstellen kann, dass ich die Zahlen im Terminalprogramm übersehen haben soll...naja hauptsache es geht.

Grüße und danke nochmal
Enrico

pebisoft
01.01.2005, 23:01
die "lbx" wird nicht gebraucht, ist luxus. der befehl wird nur von bascom alleien ausgeführt. die pullups interessieren auch nicht, kannste auch rausnehmen.
mfg pebisoft