Serial Port Processing
Gregory B. Newby
gbnewby at rodan.acs.syr.edu
Wed Apr 3 01:00:00 AEST 1991
Hi, all. I could use some insight into reading/writing my serial port.
I'm working with a Sparcstation 1 (also tried on a Personal Iris).
I can use 'cat > /dev/ttyb' to write to the device (a interface adapter
for a PowerGlove, believe it or not). 'cat < /dev/ttyb' just hangs,
though.
But, I've been unable to get my C program to read/write to the device. I
am able to get a FILE descriptor, but then it hangs when trying to read or
write. Have tried fopen() and open() (which both succeed).
For reading/writing, have tried such things are fprintf(), putc(), even
printf() piped via the shell to the port (which have all hung until
interrupted via ^c).
Any ideas on what the trouble might be? Do I need to use a socket, or is
there trouble with buffering? Or, an fcntl call? The SunOS manuals have
not proved to be illuminating, and I've never tried this sort of thing
before.
I tried variations on buffer size (and unbuffered), on opening the file,
and on reading/writing. All to no avail.
I tested the whole shebang with my PC and a demo program (also Kermit),
and was able to interact correctly. The demo program (no source, alas!)
reads and writes successfully to the glove.
Specifics on the incoming signal: 9-bytes, generated 30 times per second
- so, there's plenty of time when it's not sending. I tried a null modem,
but then couldn't even use 'cat' to write to /dev/ttyb (yes, that is
definitely the correct device. /ttya doesn't work any better).
The Sun port is set at its defaults: 9600 baud, 7 bits. The glove is
also at 9600 baud, tho with 8 bits. This doesn't seem to matter at all on
the PC.
Thanks for any insight you might provide.
-- Greg Newby
gbnewby at rodan.acs.syr.edu gbnewby at sunrise.bitnet
More information about the Comp.sys.sun
mailing list