From fc401e372045a728e182cd775e854a404de4bbe4 Mon Sep 17 00:00:00 2001 From: knolax <1339802534.kk@gmail.com> Date: Thu, 21 Apr 2016 04:39:31 -0400 Subject: initial commit :x --- RS232/demo_rx.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 RS232/demo_rx.c (limited to 'RS232/demo_rx.c') diff --git a/RS232/demo_rx.c b/RS232/demo_rx.c new file mode 100644 index 0000000..db9c41d --- /dev/null +++ b/RS232/demo_rx.c @@ -0,0 +1,72 @@ + +/************************************************** + +file: demo_rx.c +purpose: simple demo that receives characters from +the serial port and print them on the screen, +exit the program by pressing Ctrl-C + +compile with the command: gcc demo_rx.c rs232.c -Wall -Wextra -o2 -o test_rx + +**************************************************/ + +#include +#include + +#ifdef _WIN32 +#include +#else +#include +#endif + +#include "rs232.h" + + + +int main() +{ + int i, n, + cport_nr=2, /* /dev/ttyS0 (COM1 on windows) */ + bdrate=9600; /* 9600 baud */ + + unsigned char buf[4096]; + + char mode[]={'8','N','1',0}; + + + if(RS232_OpenComport(cport_nr, bdrate, mode)) + { + printf("Can not open comport\n"); + + return(0); + } + + while(1) + { + n = RS232_PollComport(cport_nr, buf, 4095); + + if(n > 0) + { + buf[n] = 0; /* always put a "null" at the end of a string! */ + + for(i=0; i < n; i++) + { + if(buf[i] < 32) /* replace unreadable control-codes by dots */ + { + buf[i] = '.'; + } + } + + printf("received %i bytes: %s\n", n, (char *)buf); + } + +#ifdef _WIN32 + Sleep(100); +#else + usleep(100000); /* sleep for 100 milliSeconds */ +#endif + } + + return(0); +} + -- cgit v1.1