Jump to content

UART flow control and FIFO

Recommended Posts

Hi there!

I've got a strange (to me) issue with UART flow control on LM4F120XL.

For testing purpouse I use the UART1 both with FIFO enabled and disabled. When FIFO is enabled I use hardware flow control, when FIFO is disabled I'm trying to use the RX interrupt to perform software flow control (I assert and deassert RTS by code insider the interrupt handling routine).

The thing is the I would like to test various RTS behaviours:
1) RTS off after 2, 4, 8, 12, 14 characters when FIFO is enabled
2) RTS off after every char when FIFO is disabled

But what I see is that when FIFO is enabled (with HW flow control enabled) everything works fine. When I disable FIFO (HW flow control disabled), I continue to see RTS behaves exactly as FIFO was ON. This is very strange to me since I verified that UARTLCRH.FEN and UARTCTL.RTSEN are both 0. I'm also sure that RTS is software handeld, because if I comment the RTS assert/deassert lines inside the UARTIntHandler1 routine RTS stays still. This seems to suggest that the RX interrupt is generated accordingly to FIFO trigger level also if FIFO is disabled while I expect that when FIFO is disabled it will work as a one byte register. Could this be possible?

Maybe I've misinterpreted the UART functional description?



Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...