On Wed, August 29, 2007 10:45 am, damotclese wrote:
> I see that there's some discussion in this forum about
> setting non blocking on ttyAM1 when running the TS Linux
> however I don't see anything posted about Debian.
>
> What I'm doing is:
>
> serial_port2 =
> open("/dev/ttyAM1", O_RDWR | O_NDELAY | O_NOCTTY, 0);
>
> Which I expected to be enough to set it to non blocking
> however it remains blocking -- I have to hit ENTER to
> read characters from the stream.
>
> Next was to try adding this to the stream:
>
> int16 options = 0;
> options = fcntl(this_socket, F_GETFL);
> // Set the non block option
> options |= O_NONBLOCK;
> (void)fcntl(this_socket, F_SETFL, options);
>
> However that didn't help -- it still blocks.
>
> Can anyone spot what I'm doing wrong?
>
> Thanks!
You might try checking to make sure your termios CC values are set up
correctly. For example...
struct termios oldtio,newtio;
tcgetattr(fd,&oldtio); /* save current port settings */
/* Start with old settings, then modify */
newtio = oldtio;
// ... set up termios parameters here as needed
newtio.c_cc[VTIME] = 0; /* inter-character timer unused */
newtio.c_cc[VMIN] = 0; /* nonblocking read */
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|