Ceci est une ancienne révision du document !
This article describes asynchrous serial programming using signal handler.
The following code is very simple. There is just one function to initialize the serial communication. Only serial port device, baudrate and if there is a parity checking can be set. Everything else is hard coded, supposing we use 8 bits of data, 1 stop bit and a prefix on parity error. Then it results in a very simple header file serialCom.h :
#ifndef _SERIALCOM_H_ #define _SERIALCOM_H_ #ifdef __cplusplus extern "C" { #endif #include <termios.h> /* Controls : CS8 = 8 bits * CREAD = Enable reading */ #define SERIAL_CONTROL (CS8 | CREAD) /* Input : PARMRK = If IGNPAR is not set, prefix a character with a parity error or framing error with \377 \0 */ #define SERIAL_INPUT PARMRK /* Handler type definition */ typedef void (*serial_handler)(int status); /* Serial port initialization function */ int serialConfiguration(serial_handler, const char* device, tcflag_t baudrate, char parity); #ifdef __cplusplus } #endif #endif