12-11-2003
starless, you really need to mention that you're using QNX. I guess that I shouldn't have remembered that you use QNX, but I didn't.
Your /dev/ser may indeed behave in ways that I don't understand. Or it may be very close to the unix tty. I'm not sure.
I'm not a c++ programmer nor do I know QNX. But I think that I understand this last character repeating business...maybe. But I'll have to explain unix system calls invoked from c.
I guessing that you're doing the equivalent of
read(fd, buffer, len)
and fd is now one side of a fifo. You need to change that to:
iret=read(fd, buffer, len)
if(iret == 0) { /* arrange to stop reading */ }
if (iret == -1) { /* error routine */ }
The read is failing, but you're not noticing this. Your buffer is not being touched. You're just assuming that it got a character. On unix, this situation would cause read to simply return a zero. In your case, you may being getting an error of some kind.
You can prove that you're not simply getting the last character... put some other character in the buffer just prior to the read. That will become the character that you seem to be reading in a loop.
7 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hey, you said this forum was for Dummies, so don't blame me for the following! :D
My whole "web building" life, I've had my sites hosted in one for or another. Lately, I've gotten into PHP and MySQL and, of course, those are also hosted for me. But lately, I've been thinking of using PHP and... (2 Replies)
Discussion started by: cap97
2 Replies
2. UNIX for Dummies Questions & Answers
hello, Im new to this Os. so, can i get any information'bout installation basics of unix. (1 Reply)
Discussion started by: Abhijit Bhatt
1 Replies
3. IP Networking
Hi
I like to learn and practice SAN, iSCSI. Could you sugges the appropriate tutorial and small tasks to practice SAN.
Thankyou (1 Reply)
Discussion started by: kingskar
1 Replies
4. AIX
Dear friends I am going to study DB2 and i dont have any experience with any DB's.. Please provide me with some links or pdf's for DB2 starters.
any advice will be very usefull (2 Replies)
Discussion started by: Vit0_Corleone
2 Replies
5. UNIX for Dummies Questions & Answers
Hi,
Please tell me where can I get started with awk..like the basics and the whole awk stuff.
Regards,
Deepti (2 Replies)
Discussion started by: gaur.deepti
2 Replies
6. Shell Programming and Scripting
how do i use the ls command with a single argument to list all files whose names end with the letter 'r'? (7 Replies)
Discussion started by: lilbo4231
7 Replies
7. UNIX for Dummies Questions & Answers
hello everyone
i have to start with unix as it is a part of my training programme and i have to do a self study, i dont know where to start from. i need some basic questions to be answerd like why we use unix ? what is a terminal? what is an editor? why we write commands inside terminal?
these... (4 Replies)
Discussion started by: aryancool
4 Replies
dc(4) Kernel Interfaces Manual dc(4)
Name
dc - serial line/mouse/keyboard
Syntax
device dc0 at ibus? vector dcintr
Description
The serial line controller provides four ports, with modem control on two of the ports. The DECstation 3100 and DECstation 2100 only pro-
vide partial modem control. The DECstation 5000 provides full modem control. The ports are used as follows:
Port Usage
0 Graphics device keyboard at 4800 BPS
1 Mouse or tablet at 4800 BPS
2 Communications port 1 (w/modem control)/local terminal
3 Communications port 2 (w/modem control)/local terminal
Each communication port from the serial line controller behaves as described in and can be set to run at any of 16 speeds. For the encod-
ing, see
When a graphics device is not being used as the system console, communications port 2 becomes the system console. In this configuration,
the port can only be used at 9600 BPS and no modem control is supported.
The serial line driver operates in interrupt-per-character mode (all pending characters are flushed from the silo on each interrupt).
Restrictions
Speed must be set to 9600 BPS on the console port and 4800 BPS on ports used by graphics devices. The serial line driver enforces this
restriction; that is, changing speeds with the command may not always work on these ports.
Files
console terminal
local terminal
local terminal
See Also
console(4), devio(4), tty(4), ttys(5), MAKEDEV(8)
RISC dc(4)