Date: Fri, 19 Sep 1997 10:50:11 -0700 (PDT) From: Thomas Dean <tomdean@ix.netcom.com> To: freebsd-questions@FreeBSD.ORG Subject: Serial Port Message-ID: <199709191750.KAA00710@celebris.tddhome>
next in thread | raw e-mail | index | archive | help
I am attempting to use a serial port to talk to a Gramin GPS 45XL.
I can talk to the device, read and write data. The results make
sense.
I am using /dev/cuaa0.
I have one problem. The communications with the device are not
reliable. I execute an application to send the device a command and
read the results. It works. I issue the same command again and it
hangs. Actually, I use select() and it times out after 15 seconds.
Increasing the timeout to 100 seconds does not change things.
If I put the command in a loop, it works 10 times. This is using
everything except open() and close(). I believe there is something
that happens when I close the device.
I have tried 'stty raw < /dev/cuaa0', and it does not seem to change
the interface.
# stty -a < /dev/cuaa0
speed 9600 baud; 0 rows; 0 columns;
lflags: -icanon -isig -iexten -echo -echoe -echok -echoke -echonl
-echoctl -echoprt -altwerase -noflsh -tostop -flusho -pendin
-nokerninfo -extproc
iflags: -istrip -icrnl -inlcr -igncr -ixon -ixoff -ixany -imaxbel -ignbrk
-brkint -inpck -ignpar -parmrk
oflags: -opost -onlcr -oxtabs
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
-dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
This looks like it should do what I want. I want the port to send a
character only when I tell it to and to receive anything it gets.
I use open(), read(), and, write() to communicate with the device.
Any ideas?
Thanks,
tomdean@ix.netcom.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709191750.KAA00710>
