-         

Ergebnis 1 bis 3 von 3

Thema: RC5 Funktionen + lib 2.7 rc3

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.07.2007
    Beiträge
    349

    RC5 Funktionen + lib 2.7 rc3

    Anzeige

    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) .

    Code:
    #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!
    Grüße,
    Harri

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo Harri,

    da ist wohl noch ein kleiner Fehler in der Asuro Lib 2.7 RC3. Damit die IsrRC5 Funktion im Timer Interrupt auch angesprungen wird, muß RC5_AVAILABLE im Makefile des Projektes definiert sein. Im Beispiel Projekt RC5Test ist das #define RC5_AVAILABLE im Sourcefile test.c leider wirkungslos.

    Im Anhang befindet sich ein korrigiertes Makefile. Probier es mal damit.
    Angehängte Dateien Angehängte Dateien

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.07.2007
    Beiträge
    349
    Zitat Zitat von m.a.r.v.i.n
    Hallo Harri,

    da ist wohl noch ein kleiner Fehler in der Asuro Lib 2.7 RC3. Damit die IsrRC5 Funktion im Timer Interrupt auch angesprungen wird, muß RC5_AVAILABLE im Makefile des Projektes definiert sein. Im Beispiel Projekt RC5Test ist das #define RC5_AVAILABLE im Sourcefile test.c leider wirkungslos.

    Im Anhang befindet sich ein korrigiertes Makefile. Probier es mal damit.
    Danke für die AW, ich werd's morgen testen.

    Allerdings habe ich dank des Fehlers mich selbst mit der Sache beschäftigen "müssen" und hab inzwischen eine Funktion(zwar immer noch optimierbar, aber schon ganz brauchbar, schließlich hat sie bis jetzt immer das richtige Ergebnis geliefert) gefunden, wie ich fehlerfrei die RC5 Codes lesen kann.

    Code:
    #include "asuro.h"
    
    #define MAX 6
    
    
    int main(void)
    {
    
        unsigned char n=0,erg=0;
    
        Init();
    
        DDRD &= ~(1<<PD0);
        PORTD|=(1<<PD0);
    
        while(1)
        {
            while(PIND & (1 << PD0));
            Sleep(250);
            Sleep(250);
            Sleep(14);
    
            for(n=0;n<MAX;n++)
            {
                if(PIND & (1 << PD0))
                    erg |= 1<<(MAX-n-1);
    
                Sleep(64);
            }
    
            StatusLED(RED);
            Msleep(1500);
            SerPrint("\r\n");
            PrintInt(erg);
            StatusLED(GREEN);
            erg=0;
    
        }
    
        return 0;
    }
    Grüße,
    Harri

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •