Evento

Aquí se tiene un ejemplo de un programa con evento.

#define __WINDOWS_COM__                 // #define __LINUX_COM__ 
#define ENABLE_SERIAL_PORT_EVENT

#include "com/serial.h"

int numero=0; 
void SERIAL_PORT_EVENT(HANDLE * hPort)
{
    char c;
    Getc_Port(*hPort,& c);
    printf("[%d]=%c\n",numero,c); 
    numero++;
}

int main()
{
    HANDLE fd; 
    DCB OldConf;
    char cad[16]="Enviando Texto\n";
    int n;
    
    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,B115200,"8N1");   // Configuro el puerto serie.
    
    IO_Blocking(fd,TRUE);               // Bloqueante por defecto, pero también
                                        // se puede usar:
                                        // IO_Blocking(fd,TRUE); 
    
    n=Write_Port(fd,cad,16);            // Escribo en el puerto serie.
    
    Create_Thread_Port(& fd);        // Creo un hilo y le paso el manejador.

    while(TRUE);
    
    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;
}