C: RS232 asynchron, byte-weise ansprechen
-
Hallo Zusammen
Ich verzweifle daran die RS232 unter Linux (Debian) mit C anzusprechen.
Ich kriege von einem Controller einzelne Bytes, welche ich empfangen möchte.
Ich habe es schon hingekriegt, dass ich einzelne Bytes lesen konnte, jedoch nur mit einer Funktion, die sich aufhängt, bis ein Byte empfangen wird. Dies kann ich jedoch nicht gebrauchen, da ich nebenan noch Tastatureingaben verarbeiten möchte.Wie funktioniert das? Gibt es keine Möglichkeit, dass ich immer einen Interrupt (siganl) bekomme, wenn ein Byte empfangen wurde?
Kennt dazu jemand ein gutes Tutorial, oder kann mir Beispielcode schicken?Die ganzen Möglichkeiten von termios mit den Steuerzeichen (Terminal halt...) brauch ich gar nicht.
Ich möchte lediglich einzelne Bytes (mit einer einstellbaren Übertragungsrate natürlich) im 8N1-Modus emfpangen und senden.
Vielen Dank für eure Hilfe!
-
edoch nur mit einer Funktion, die sich aufhängt, bis ein Byte empfangen wird.
Funktion ? Bestimmt read(...)
Dann überprüfe erst ob ein Byte zum Lesen im Puffer vorhanden ist:ioctl(fd, FIONREAD, &bytes);