Serial Programming
Jump to navigation
Jump to search
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).
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.