diff --git a/serial/serial.c b/serial/serial.c index 241f050..527d304 100644 --- a/serial/serial.c +++ b/serial/serial.c @@ -213,9 +213,9 @@ for(;;) { } +#if DEBUG_LEVEL fprintf(stderr, "%s -> '%s'\n", __func__, where); - - +#endif return retval; } /* -------------------------------------------------------------------- */ diff --git a/serial/t.c b/serial/t.c index 68ef369..2a72e37 100644 --- a/serial/t.c +++ b/serial/t.c @@ -2,10 +2,13 @@ #include #include +#include +#include #include #include //Used for UART #include //Used for UART #include +#include //Used for UART #include "serial.h" @@ -26,7 +29,17 @@ if (uart < 0) return uart; } /* ----------------------------------------------------- */ - +int configserial(int fd) +{ +struct termios tios; +bzero(&tios, sizeof(tios)); +tios.c_cflag = B9600 | CRTSCTS | CS8 | CLOCAL | CREAD; +tios.c_lflag = ICANON; +tios.c_cc[VMIN] = 1; /* read bloquant ??? */ +tcsetattr(fd,TCSANOW,&tios); +return 0; +} +/* ----------------------------------------------------- */ int main (int argc, char *argv[]) { int serial_in, foo; @@ -40,15 +53,20 @@ if (2 != argc) { serial_in = openserial(argv[1]); fprintf(stderr, "openserial -> %d\n", serial_in); +(void)configserial(serial_in); + + for (;;) { foo = read(serial_in, &byte, 1); if (1 != foo) { - fprintf(stderr, "get byte : got %d, err is %d\n", foo, errno); + fprintf(stderr, "get byte : got %d, err is %d\n", + foo, errno); } else { printf("%9ld $%02x ", time(NULL), byte); - if (isprint(byte)) putchar(byte); + if (isprint(byte)) putchar(byte); puts(""); + if ('\n'==byte) puts(""); } }