Hi
I have a mysterious problem regarding the use of UART on C6748. I have been using in my projects quite straightforwardly with no problem.
Now, I have a problematic case.
A large amount of data is fed to THR one by polling TEMT bit in LSR. During this operation, at some point, the receiving end sends 2 bytes to abort the data transfer. I enabled the receive interrupt for this. But, while the CPU is in Uart transmit loop performing transmit by feeding bytes to THR, no data seems to be received by the Uart. Because of this, I cannot detect the abort request.
I know that THR, RBR and DLL share one address. The access to these are contolled by DLAB bit in LCR register. During this, DLAB is set to 0 which means and write to the shared address modifies THR without affecting RBR. When DLAB is 0, any reads fetches data from RBR. So, there is no any possibility of using this shared address wrongly, as far as I see.
Other than this case, I can receive and transmit data with no problem.
Any possible suggestions are welcomed.
Best regards
izzet