harry3
14.08.2007, 21:31
Hallo!
Habe mich mit Fernsteuerungsinputs mal versucht.
Aber ich habe keine Chance mit den Standard RC5 Funktionen was zum Laufen zu bekommen. Eigentlich müsste man es dank lib ja in wenigen Zeilen schaffen, aber ich bekomme immer 0 als Rückgabewert. Mmmhh!?
Ich dachte schon dass meine Fernbedienung keine Rc5 Fernbedienung ist, laut Signalverlauf ist es aber eine.
Ich hab mir dann eine eigene, Primitivst - RC5 Funktion gebaut, welche mir die richtigen Werte zurückliefert(meistens zumindest- schließlich ist die Funktion alles andere als optimiert) .
#include "asuro.h"
#include "include\\hs_taster.h"
#define MAX 11
int main(void)
{
unsigned char daten[MAX]={0},n=0;
Init();
DDRD &= (1<<PD0);
PORTD|=(1<<PD0);
while(PIND & (1 << PD0));
Sleep(208);
for(n=0;n<MAX;n++)
{
if((PIND & (1<<PD0))==0)
daten[n]=1;
Sleep(64);
}
Msleep(5000);
for(n=0;n<MAX;n++)
{
SerPrint("\r\n");
PrintInt(daten[n]);
}
while(1);
return 0;
}
Wenns also meine Mini Funktion kann, dann sollte es die ausgereifte Funktion schon lange können - anscheinend verwende ich sie irgendwie falsch: Ich starte die RC5 Erkennung mit der Rc5 - Init Funktion, und danach verbleibe ich in einer while() Schleife bis der Rückgabewert der Rc5 - Auslesefunktion nicht mehr 0 ist. Bei mir bleibt er aber immer 0, egal was ich mache!
Habe mich mit Fernsteuerungsinputs mal versucht.
Aber ich habe keine Chance mit den Standard RC5 Funktionen was zum Laufen zu bekommen. Eigentlich müsste man es dank lib ja in wenigen Zeilen schaffen, aber ich bekomme immer 0 als Rückgabewert. Mmmhh!?
Ich dachte schon dass meine Fernbedienung keine Rc5 Fernbedienung ist, laut Signalverlauf ist es aber eine.
Ich hab mir dann eine eigene, Primitivst - RC5 Funktion gebaut, welche mir die richtigen Werte zurückliefert(meistens zumindest- schließlich ist die Funktion alles andere als optimiert) .
#include "asuro.h"
#include "include\\hs_taster.h"
#define MAX 11
int main(void)
{
unsigned char daten[MAX]={0},n=0;
Init();
DDRD &= (1<<PD0);
PORTD|=(1<<PD0);
while(PIND & (1 << PD0));
Sleep(208);
for(n=0;n<MAX;n++)
{
if((PIND & (1<<PD0))==0)
daten[n]=1;
Sleep(64);
}
Msleep(5000);
for(n=0;n<MAX;n++)
{
SerPrint("\r\n");
PrintInt(daten[n]);
}
while(1);
return 0;
}
Wenns also meine Mini Funktion kann, dann sollte es die ausgereifte Funktion schon lange können - anscheinend verwende ich sie irgendwie falsch: Ich starte die RC5 Erkennung mit der Rc5 - Init Funktion, und danach verbleibe ich in einer while() Schleife bis der Rückgabewert der Rc5 - Auslesefunktion nicht mehr 0 ist. Bei mir bleibt er aber immer 0, egal was ich mache!