UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
6,958 Views
Registered: ‎05-17-2015

sending buffers in UART

Hello,

 

I have some strange behaviour in uart, in which I need to call

XUartNs550_Recv() routine, even if I just need to do only sending.

I tried to see what causes it in driver, and I noticed the following comment in XUartNs550_SendBuffer (which is called by XUartNs550_Send):

 

/*
* If interrupts are enabled as indicated by the receive interrupt, then
* enable the transmit interrupt, it is not enabled continuously because
* it causes an interrupt whenever the FIFO is empty
*/

 

I think maybe this is the key for understand this bug/feature in the UART driver.

 

1. Does anyone have any idea why it is implemented in such a way, i.e. what's wrong with using tx interrupt whenever FIFO is empty ?

2. If I use XUartNs550_Recv + XUartNs550_Send (instead of waiting for this driver fix ), and there is no bytes received in UART will the sending still function correctly ? Is this the advisable way to work with the UART for now ?

 

Regards,

Ran 

0 Kudos