Looking for some assistance testing a UART implementation with hardware flow contorl for the OMAP L138. To test the implementation I use minicom
to emulate the other end of the serial link and I'm looking for some insight into how it needs to be configured.
I have a simple application that sends messages over UART from the OMAP to minicom. This works as expected if both OMAP and minicom are configured to NOT use hardware flow control. When I turn hardware flow control on, I don't see any output on minicom.
Here's the list of steps I followed:
- Configured minicom to use hardware flow control (Ctl A-O to open minicom serial port setup menu, and F to enable hardware flow control).
- Using
stty
I enable rts/cts handshakingstty -F /dev/ttyS1 crtscts
. Using the commandstty -F /dev/ttyS1 -a
I can confirm that crtscts has been enabled.
The two changes above ensure that hardware flow control is enabled in the terminal program and in the UART driver. The UART on the OMAP has also been configured to use hardware flow control.
However, the changes to minicom listed above don't seem to be sufficient to get flow control to work correctly. After starting the application, the RTS(request to send) signal from the OMAP goes low, indicating to minicom that it wants to send data. If configured properly minicom should pull the OMAP's CTS(clear to send) signal low and start accepting data until it reaches the specified receive buffer threshold. This does not happen. The CTS input to the OMAP is always high. Just for kicks, I tried shorting the RTS to CTS on the OMAP and voila, the expected messages do show up on minicom! Here's an image that shows how the two are hooked up.
From what I've tried it seems like I'm missing something in the way I configured minicom. Any suggestions appreciated.
kill -STOP $(pidof minicom)
. To continue, useCONT
. – Tombolo