Serial Programming: Difference between revisions
(→Tools: minicom and cutecom) |
(→Tools: interceptty, SerLook (not tried)) |
||
Line 50: | Line 50: | ||
sudo apt-get install cutecom |
sudo apt-get install cutecom |
||
</source> |
</source> |
||
=== [http://freecode.com/projects/interceptty interceptty] === |
|||
'''[http://freecode.com/projects/interceptty interceptty]''' is a program that sits between a serial port (or other tty-style device) and an application, and logs everything that passes through it. |
|||
=== [http://freecode.com/projects/serlook SerLook] === |
|||
'''[http://freecode.com/projects/serlook SerLook]''' is a KDE application for inspecting data going over serial lines. |
Revision as of 23:36, 1 February 2012
References
- Serial Programming HOWTO
- Serial Programming Guide for POSIX Operating System
- Serial Port Programming in Windows and Linux
How-To
Flush Serial Buffers
Use constant TCSAFLUSH
for function tcsetattr
(see [1] and [2]):
Constant | Description |
---|---|
TCSANOW | Make changes now without waiting for data to complete |
TCSADRAIN | Wait until everything has been transmitted |
TCSAFLUSH | Flush input and output buffers and make the change |
This can be done even on a serial port that is already configured:
struct termios options;
tcgetattr(fd, &options); // Get current configuration of this port
cfsetispeed(&options, B115200); // Configure some port options (e.g. baud rate...)
...
tcsetattr(fd, TCSANOW, &options); // Apply the new settings immediately
... // Read / Write to the port...
tcsetattr(fd, TCSAFLUSH, &options); // Flush IO buffer
Tools
Minicom
Minicom (wikipedia) is a text-based modem control and terminal emulation program for Linux.
It can be used to debug / test serial connections, but unfortunately it is only ascii based and does not allow to send / receive easily data in hexadecimal format (except via sending / receiving files).
Minicom is in the repositories:
sudo apt-get install minicom
Cutecom
Cutecom is a handy and easy graphic tool to test/debug embedded devices controlled via serial link. This tool allows sending / receiving data in hexadecimal format.
Cutecom is in the repositories:
sudo apt-get install cutecom
interceptty
interceptty is a program that sits between a serial port (or other tty-style device) and an application, and logs everything that passes through it.
SerLook
SerLook is a KDE application for inspecting data going over serial lines.