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