Timeout

Aquí se tiene un ejemplo de un programa con Time-Out.

#define __WINDOWS_COM__                 // #define __LINUX_COM__ 

#include "com/serial.h"

int main()
{
    HANDLE fd; 
    DCB OldConf;
    char cad[16]="X";
    int n,TIME=2,i;

    fd=Open_Port("COM1");               // Abre el puerto serie.
                                        // fd=Open_Port("/dev/ttyS0");

    OldConf=Get_Configure_Port(fd);     // Guardo la configuración del puerto.

    Configure_Port(fd,B19200,"8N1");    // Configuro el puerto serie.

    Set_Time(fd,TIME);                  // Time-Out entre caracteres es TIME*0.1.

    n=Write_Port(fd,cad,1);             // Escribo en el puerto serie.

    n=Gets_Port(fd,cad,16);             // Leo el puerto serie.
    printf("%s",cad);                   // Muestro la cadena.

    Set_Configure_Port(fd,OldConf);     // Restituyo la antigua configuración 
                                        // del puerto.
    Close_Port(fd);                     // Cierro el puerto serie.

    printf("\nPresione ENTER para terminar\n");
    getchar();

    return 0;
}