diff --git a/src/Makefile.am b/src/Makefile.am --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,7 @@ lib_LTLIBRARIES = librs232-@RS232_API_VERSION@.la -librs232_@RS232_API_VERSION@_la_LDFLAGS = -no-undefined -version-info $(RS232_SO_VERSION) +librs232_@RS232_API_VERSION@_la_LDFLAGS = -no-undefined -fPIC -version-info $(RS232_SO_VERSION) rs232_includedir = $(includedir)/rs232-$(RS232_API_VERSION) diff --git a/src/Makefile.in b/src/Makefile.in --- a/src/Makefile.in +++ b/src/Makefile.in @@ -140,6 +140,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ @@ -167,6 +168,7 @@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ @@ -199,7 +201,6 @@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -216,7 +217,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = librs232-@RS232_API_VERSION@.la -librs232_@RS232_API_VERSION@_la_LDFLAGS = -no-undefined -version-info $(RS232_SO_VERSION) +librs232_@RS232_API_VERSION@_la_LDFLAGS = -no-undefined -fPIC -version-info $(RS232_SO_VERSION) rs232_includedir = $(includedir)/rs232-$(RS232_API_VERSION) rs232_libincludedir = $(libdir)/rs232-$(RS232_API_VERSION)/include librs232_@RS232_API_VERSION@_la_SOURCES = \ diff --git a/src/RS232_unix.c b/src/RS232_unix.c --- a/src/RS232_unix.c +++ b/src/RS232_unix.c @@ -18,6 +18,8 @@ rs232port_t rs232open(char* psPortName) { rs232port_t fd; fd = open(psPortName, O_RDWR | O_NOCTTY | O_NDELAY); + fcntl(fd, F_SETFL, 0); + //fd = open(psPortName, O_RDWR | O_NOCTTY); #ifdef debug if(fd==-1)printf("can't open Port\n"); #endif @@ -54,7 +56,9 @@ int rs232setup(rs232port_t fd, int ChSiz rs232cfparity(fd, &terminos, Parity); rs232cfnbstop(fd, &terminos, NbStop); rs232cfcsize(fd, &terminos, ChSize); - + terminos.c_cc[VMIN]=0; + terminos.c_cc[VTIME]=20; + tcflush(fd, TCIFLUSH); #ifdef debug if(tcsetattr(fd, TCSANOW, &terminos)!=0)printf("bad setup\n"); #else