Barry Earley wrote:
>
>Being an old fart I object to the 20 years ago reference.  Many current
>devices still expect RTS to be asserted before they will accept data from
>the DTE.  The main difference is that in the bad old days communication, was
>often half duplex and RTS was asserted ONLY while the DTE was tansmitting
>(reference Bell 202 modem protocols ) - today most devices are full duplex
>and so it is normal that RTS is always asserted.  Since that is the case, it
>has now become common to make the RTS line do double duty an implement
>RTS/CTS flow control - it is accepted that when RTS is low, the DTE will not
>only not send data, but will also not accept it.  

I think that what you say in the last 2 lines is false if RTS/CTS flow
control is enabled.  Low RTS from the DTE is only telling the other end of
the serial line not to send.  The DTE is still able to send.  It can still
receive but since it has requested that nothing be sent to it, there is a
danger of buffer overflow (or other errors) when it does receive. 

I tested this on my Linux PC using 2 serial ports connected to each other
via a null-modem cable.  I used modemstat to monitor one of them.  (Too
bad it can't monitor both at once).  Then I sent a file to the monitored 
port by copying it to the other port (it goes thru the cable).  If this 
file is short, RTS stays asserted, but if it's nearly as large as the 
serial buffer, then RTS drops to protect the buffer from overflow.
Now with RTS negated I tried sending to and receiving at the monitored
port. Both worked OK. 

An interesting point is that if I didn't monitor the port with a software 
monitor (and had used a voltmeter or colored light bulbs) the experiment 
might not have worked since the monitored port must initially assert RTS 
so that the other port can send to it.  An unused port doesn't assert RTS 
but monitoring it with modemstat causes both RTS and DTR to initially go 
high.  Ditto for statserial.

                        David Lawyer

-
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to [EMAIL PROTECTED]

Reply via email to