Dunuin
05.01.2010, 18:51
Moin,
Ich nutze das STK600 Experimentierboard mit einem ATmega32L 8PI und versuche mit diesem (http://www.rn-wissen.de/index.php/RC5-Decoder_f%C3%BCr_ATMega) RC5-Decoder RC5 zu empfangen, was aber nicht klappen will.
Arbeiten tue ich mit dem AVR Studio und AVR-GCC. Mein TSOP1736 hängt an PortD2 (INT0), der als Eingang geschaltet ist und wenn ich dessen Zustand abfrage und über PortB0 über eine LED ausgebe, dann blinkt diese auch, wenn ich einen Knopf auf meiner RC5-Fernbedienung drücke.
Wenn ich aber mit...
/* Gibt's was Neues? */
if (-1 == rc5.flip)
{
/* Nein, dann mach irgendwas (oder nix) */
}
...wie im Wikiartikel beschrieben prüfe ob etwas angekommen ist, dann bleibt rc5.flip immer bei -1, scheint also keinen gültigen RC5-Code empfangen zu haben.
Vorher habe ich wie beschrieben ...
#include <avr/io.h>
#include <avr/interrupt.h>
#include "rc5.h"
...
/* der ensprechende INT-Port muss INPUT sein */
/* RC5 initialisieren, alle Adressen zulassen */
rc5_init (RC5_ALL);
/* Interrupts zulassen */
sei();
...
...ausgefüht.
Was habe ich falsch gemacht? Muss ich da noch etwas machen, damit es funktioniert?
MfG
Dunuin
Edit:
Ahja, wenn ich über das AVR Studio die Taktung auslese, dann gibt der mir 16006912 Hz an, auch wenn ich sage, dass mit 16000000 Hz getaktet werden soll und auch 16000000 im quellcode angeben sind. Kann da das Problem liegen?
Ich nutze das STK600 Experimentierboard mit einem ATmega32L 8PI und versuche mit diesem (http://www.rn-wissen.de/index.php/RC5-Decoder_f%C3%BCr_ATMega) RC5-Decoder RC5 zu empfangen, was aber nicht klappen will.
Arbeiten tue ich mit dem AVR Studio und AVR-GCC. Mein TSOP1736 hängt an PortD2 (INT0), der als Eingang geschaltet ist und wenn ich dessen Zustand abfrage und über PortB0 über eine LED ausgebe, dann blinkt diese auch, wenn ich einen Knopf auf meiner RC5-Fernbedienung drücke.
Wenn ich aber mit...
/* Gibt's was Neues? */
if (-1 == rc5.flip)
{
/* Nein, dann mach irgendwas (oder nix) */
}
...wie im Wikiartikel beschrieben prüfe ob etwas angekommen ist, dann bleibt rc5.flip immer bei -1, scheint also keinen gültigen RC5-Code empfangen zu haben.
Vorher habe ich wie beschrieben ...
#include <avr/io.h>
#include <avr/interrupt.h>
#include "rc5.h"
...
/* der ensprechende INT-Port muss INPUT sein */
/* RC5 initialisieren, alle Adressen zulassen */
rc5_init (RC5_ALL);
/* Interrupts zulassen */
sei();
...
...ausgefüht.
Was habe ich falsch gemacht? Muss ich da noch etwas machen, damit es funktioniert?
MfG
Dunuin
Edit:
Ahja, wenn ich über das AVR Studio die Taktung auslese, dann gibt der mir 16006912 Hz an, auch wenn ich sage, dass mit 16000000 Hz getaktet werden soll und auch 16000000 im quellcode angeben sind. Kann da das Problem liegen?