Serielle Schnittstelle konfigurieren/programmieren: Posix: http://www.easysw.com/~mike/serial/serial.html http://en.tldp.org/HOWTO/Serial-Programming-HOWTO/index.html www.charmed.com/support/linux/howto/Serial-Programming-HOWTO.txt rs232 Standard: http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html Hinten dran ist noch ein kleines c programm, was dir vielleicht weiter hilft [0] Einfach open_port auf deine Bed?rfnisse ver?ndern, und mit read write schreiben. F?r read(2), close(2) und write(2) man pages anschauen! (Filedeskriptor wird von meinen open_port zur?ckgeliefert) [0] int open_port (char * PORT) { struct termios options; int fd; // Filedeskriptor fd = open (PORT, O_RDWR | O_NOCTTY | O_NONBLOCK | O_SYNC); // fd = open ("/dev/ttyS0", O_WRONLY | O_NOCTTY | O_NDELAY); // fd = open ("/dev/ttyS0", O_RDWR | O_NOCTTY); /*?ffne serielle Schnittstelle ttyS1 mit folgenden Eigenschaften: * O_RDWR read and write * O_NOCTTY es handelt sich um keine Konsole * O_NONBLOCK nicht blockieren * O_SYNC warte bei jeden write aufruf, bis er fertig ist*/ if (fd < 0) // negative Zahl bei fehler! { fprintf(stderr, "Open_port: unable to open %s\n", PORT); exit (1); // irreparebel, verlasse Programm } fcntl (fd, F_SETFL, O_ASYNC); tcgetattr (fd, &options); // verlange die aktuellen Einstellungen cfsetispeed (&options, B9600); // ?ndere die Baud-rate auf 9600 cfsetospeed (&options, B9600); // ?ndere die Baud-rate auf 9600 options.c_cflag |= (CLOCAL | CREAD); // auch lesen m?glich options.c_cflag &= ~PARENB; // keine Parit?tbits options.c_cflag &= ~CSTOPB; // nur ein Stop-bit // options.c_cflag |= CSTOPB; // 2 Stopbits options.c_cflag &= ~CSIZE; // l?sche Datenbitseinstellung, damit n?chster Befehl g?ltig ist options.c_cflag |= CS8; // select 8 Databits options.c_cflag &= ~CRTSCTS; // disable Hardwareflow control // options.c_lflag &= ~(ICANON | ECHO | ISIG); // raw data cfmakeraw (&options); // real raw! tcsetattr (fd, TCSANOW, &options); return fd; }