Serielle Schnittstelle Infrarot ansprechen



  • Hi zusammen,

    ich habe an meiner seriellen Schnittstelle eine Infrarotschnittstelle angeschlossen und möchte diese gerne mit einem selbstgeschriebenen Programm ansprechen. Muss ich für diese Schnittstelle vorher irgendwelche Module laden? Oder kann ich die serielle Schnittstelle ohne weiteres ansprechen? Hab dies auf jeden Fall versucht aber kein Erfolg. Egal, was ich auf einer Fernbedienung drücke, mein Programm gibt mir keine Ausgaben. Hier mal der Quellcode von dem wohl recht kleinen Programm:

    int main(int argc, char *argv[])
    {
        int fd;
        struct termios term_old, term_new;
    
        fd=open(DEVICE, O_RDONLY | O_NOCTTY);
    
        if (fd < 0)
        {
            perror(DEVICE);
            exit(-1);
        }
    
        tcgetattr(fd, &term_old);
    
        term_new.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD | CRTSCTS;
        term_new.c_iflag = IGNPAR | IXON | IXOFF;
        term_new.c_oflag = 0;
    
        term_new.c_lflag = 0;
    
        term_new.c_cc[VTIME]=0;
        term_new.c_cc[VMIN]=5;
    
        tcflush(fd, TCIFLUSH);
    
        tcsetattr(fd, TCSANOW, &term_new);
    
        int STOP=0, res, k;
        char buffer[255];
    
        while (STOP==0)
           {
            res=read(fd, buffer, 255);
    
            buffer[res]='\0';
    
            for (k=0; k < res; k++)
                 putchar(buffer[k]);
    
            if (buffer[0]=='z')
                STOP=1;
    
        }
    
        tcsetattr(fd, TCSANOW, &term_old);
    
    }
    

    Ich hab den Code einfach mal von einer anderen Seite übernommen, die Beispiele für eine serielle Schnittstelle zeigt. Hat jemand eine Idee warum das nicht geht?

    Danke im voraus

    Lemon



  • Mhmmm Infrarot ist doch ein eigenes Protokoll wenn ich mich nicht irre, ich muss zum benutzen dieser Schnittstelle immer erst mal bestimmte Module laden:

    irda
    irlan (eine Art Netzwerkverbindung mit IPs über Infrarot, sehr nett, wenn Freunde in der Klasse kein Wireless haben 😉 )

    Ansonsten gibt es doch noch ein Programm im Netz, bah mir fällt der Name nicht ein. Damit kann man dann auch xmms, xine und weiteres per Fernbedienung steuern.

    Wozu willste das Rad neu erfinden ?



  • Hi,

    danke für Deine Antwort. Du meinst denke ich Lirc.

    Lirc kenne ich schon. Mir geht es nicht darum, das Rad neu zu erfinden *g* Ich möchte nur verstehen lernen, wie das Rad funktioniert. Also offensichtlich muss ich erstmal den Treiber für diesen Infrarot via Seriell installieren und das dann erstellte Device einlesen, anstatt einfach nur den Seriellen Port. So habe ich das zumindest nach viel lesen verstanden 🙂

    Lemon



  • Also IMHO kannst du nicht mit einer handesüblichen Fernbedienung etwas am IRDA-Port deines Rechners empfangen da die Infrarotempfänger inkompatible sind. Dafür gibt es ja eigene Teile zu kaufen.
    Kann mich aber auch irren.


Anmelden zum Antworten