This is the Linux Serial Programming HOWTO. All about how to program communications with other devices / computers over a serial line under Linux. Different techniques are explained: Canonical I/O (only complete lines are transmitted/received), asyncronous I/O, and waiting for input from multiple sources.
This document does not describe how to set up serial ports, because this has been described by Greg Hankins in the Serial-HOWTO.
I have to emphasize that I am not an expert in this field, but have
had problems with a project that involved such communication. The code
examples presented here were derived from the miniterm code available
from the LDP programmers guide
(ftp://sunsite.unc.edu/pub/Linux/docs/LDP/programmers-guide/lpg-0.4.tar.gz
and mirrors)
in the examples directory.
Since I wrote this document in June 1997, I have moved to WinNT to satisfy customers need, so I have not built up more in depth knowledge. If anybody has any comments, I will gladly incorporate them into this document (see sect. Feedback). If someone would like to take over and do a better job, please e-mail me.
All examples were tested using a i386 Linux Kernel 2.0.29.
The Linux Serial-Programming-HOWTO is copyright (C) 1997 by Peter Baumann, and is released under the terms of the GNU Free Documentation License, which is hereby incorporated by reference.
If you have questions, please contact the Linux HOWTO
coordinator at
linux-howto@metalab.unc.edu
via email.
New versions of the Serial-Programming-HOWTO will be available
at
ftp://sunsite.unc.edu:/pub/Linux/docs/HOWTO/Serial-Programming-HOWTO
and mirror sites. There are other formats, such as PostScript and DVI
versions in the other-formats
directory. The
Serial-Programming-HOWTO is also available at
http://sunsite.unc.edu/LDP/HOWTO/Serial-Programming-HOWTO.html
and will be posted to
comp.os.linux.answers
monthly.
Please send me any corrections, questions, comments, suggestions, or
additional material. I would like to improve this HOWTO! Tell me
exactly what you don't understand, or what could be clearer. You can
reach me at
Peter.Baumann@dlr.de
via email. Please include the
version number of the Serial-Programming-HOWTO when writing, this is
version 0.3.