This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com). Please read all the links below my signature.
Moving this thread to OMAP-L1x forum for faster and appropriate response. Thank you for your patience.
Note: We strongly recommend you to create new e2e thread for your queries instead of following up on an old/closed e2e thread, new threads gets more attention than old threads and can provide link of old threads or information on the new post for clarity and faster response.
Hi,
Thanks for your post.
I think, in your case, the Receive data-ready interrupt would have not cleared where Rx. FIFO drops below the trigger level under any of the unfortunate circumstances and because of this, you are not able to assert both the interrupts simultaneously.
Please make sure that you are not getting any receiver time-out interrupt or any receiver line-status interrupt which will be triggered based out of over-run error, parity error, framing error or a break if any, because line-status interrupt has higher priority than the receiver data-ready interrupt.
In general, if trigger level is reached, the UART FIFO will not accept any new data and what i mean to say here is, once the trigger level is reached, it will wait for the time duration of four character times as mentioned in Table 31-4 of TRM and of this duration, if you didn't find any access to UART FIFO, I mean, if the UART FIFO didn't drop below the trigger level which maintains the same trigger level as before, then the 2nd receiver data-ready interrupt will be asserted again.
I think, alternatively you could try to download rCSL sample UART examples available for OMAPL138 as below:
http://processors.wiki.ti.com/index.php/QuickStartOMAPL1x_rCSL#Downloads
Try first the UART hyper terminal and UART interrupt loopback examples which uses interrupt to update the status of transmit and receive buffers. Kindly check the above link for the same.
Thanks & regards,
Sivaraj K
-------------------------------------------------------------------------------------------------------
Please click the Verify Answer button on this post if it answers your question.
-------------------------------------------------------------------------------------------------------
Hello Norman,
unfortunately reading the IIR register only gives the ID of the RDR.
If a THRE-condition occurs at the same time with the RDR, there is no second IIR-entry.
It seems that reading the RDR from the IIR register also clears the pending THRE interrupt.
Even if I check the THRE flag at the end of the ISR and service the transmitter if necessary it may happen that the UART-interrupt stops working.
Thanks,
Alex