UART DMA issue

Hi everyone.

I'm working on a project with the ADSP-21369 EZ-kit lite and I have some issues related to the UART DMA.

I'd like to transmit a large amout of data through the UART without having to wait for the transmission of every single character because the project I'm working on is supposed to run in real-time. I think UART DMA might be the solution so that other algorithms can run while the data is transmitted. Am I right? By the way, how does UART DMA works? Is there any example you might provide?

Thanks,

-Pedro

Parents
  • 0
    •  Analog Employees 
    on Apr 19, 2011 1:07 PM

    Hi Ibrahim,

    Yes, the interrupt occurs when the DMA count reaches zero. But it doesn't indicate that both THR and TSR are empty (transfer is complete). Before disabling the UART, you should make sure that both THR and TSR registers are epmty by polling the UARTTEMT bit(bit 6) in the UARTxLSR regsiter.

    Sorry for not looking at the interrupt service routine earlier. The reason why I didn't is that I was actually under the impression that the code was not going to the interrupt service routine only.

    Hope this helps.

    Thanks,

    Mitesh

Reply
  • 0
    •  Analog Employees 
    on Apr 19, 2011 1:07 PM

    Hi Ibrahim,

    Yes, the interrupt occurs when the DMA count reaches zero. But it doesn't indicate that both THR and TSR are empty (transfer is complete). Before disabling the UART, you should make sure that both THR and TSR registers are epmty by polling the UARTTEMT bit(bit 6) in the UARTxLSR regsiter.

    Sorry for not looking at the interrupt service routine earlier. The reason why I didn't is that I was actually under the impression that the code was not going to the interrupt service routine only.

    Hope this helps.

    Thanks,

    Mitesh

Children
No Data