Fw: serial H/W flow control -- a fairy tale?

Bill Horne bill-CIZd1d4GmLheoWH0uzbU5w at public.gmane.org
Sat Sep 15 23:40:29 EDT 2007


R. Luoma wrote:
> the fairy tale:
>
> Once upon a time, two computers were communicating with each other
> over their RS-232 serial ports.  During the data transfer, when
> the receiving system's UART FIFO was getting full, it would use
> the hardware RTS/CTS line to tell the other system to stop
> sending data until the receiving system had a chance to empty
> the FIFO.  The magical UART would handle in hardware all the messy
> details.  No data would be lost and birds would bloom and the flowers chirp.
>
> In reality, I am getting many over-run errors because the transmit systems
> keeps merrily sending data whether the receiving system's UART FIFO is full or not;
> furthermore, the after the FIFO fills, the RTS/CTS never change;
> I have set the CRTSCTS flag, but there seems to be no hardware flow control at all.
>
> Am I missing something?
> Is serial flow control just an internet fairy tale?
>
> Under linux, are there program to whether hardware flow control works?
> If so, where can I find these programs?
>   

Since I spent too many of my formative computer-programming hours 
programming 8250 UARTs, I'll say that I feel your pain and I'll offer 
these suggestions:

1. Check the cables: many "serial" cables have only one, or even no, 
hardware control lines installed. Use an ohmmeter to check continuity on 
all leads.
2. Check the internal wiring: if the "header" cable has only five leads, 
that's a clue that the RTS, CTS, and other control leads got cut in the 
production meeting.
3. Borrow or buy an RS-232 test indicator: the kind I have comes with 
colored lights that show the condition of all leads.
4. Remeber that software flow control is also available.

HTH.

Bill

-- 

E. William Horne
William Warren Consulting
http://www.william-warren.com/
781-784-7287



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.






More information about the Discuss mailing list