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.

MSP430F5438A: Using DMA to transfer Data through UART

Part Number: MSP430F5438A

Hello,

I'm trying to use DMA0 to get data from UART Tx. I'm able to obtain all my 52 bytes through DMA. i need to process that data in 10 millisecond cyclic task.

Now the thing is, i need to trigger some interrupt when all my 52 bytes are received through DMA so that i can process the received data.

I'm searching for something like idle line interrupt, but not able to find any interrupts like that.

i can't use polling method for this, can you suggest me if any interrupts are available for this.

Thanks and Regards

Manjunath R

Honeywell

  • Hi Manjunath,

    in which transfer mode are you using the DMA?

    Block Transfer would be an option but this requires all 52 already received. I would suggest you use repeated single transfer right.

    In this case count a variable in the DMA interrupt and stop at 52, would this work for you?

  • Hi Dietmar,

    Thanks for your reply,

    in which transfer mode are you using the DMA?

    I'm using repeated single transfer.

    In this case count a variable in the DMA interrupt and stop at 52, would this work for you?

    okay.. i will try this one.

    will it generates interrupt for each and every byte, means 52 interrupts ??

    if so, it will not be a good design i think.

    i'm looking for one interrupt once all 52 bytes received so i can process data from that handler.

    We are using this for Aero application.

     

    Thanks and Regards

    Manjunath R

    Honeywell

  • Manjunath,

    ok got it so the repeated single transfer is the right one and you have to set DMAxSZ register to 52 with the UART RX as trigger.

    In this case you get an interrupt after 52 received bytes.  Maybe it makes sense to use the Single Transfer in not repeated way and reconfigure DMA for the next 52 bytes in the DMA interrupt.

    I think this should work better for your application needs.

  • Hi Dietmar,

    Thanks for your reply.

    Sure i will check this one and i will reply on top of it.

    Thanks and Regards

    Manjunath R

    Honeywell

  • Hi Manjunath,

    any update from your site? If there is something else required from TI please let us know otherwise I will close this thread due to inactivity.

**Attention** This is a public forum