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.

Question about MSP430FR5739 using DMA with UART

Hello,

Im posting my first question right now, i hope that i´ll decribe my problem well:

 

Im using the USCI-A as an UART with 19200 Bits/s and let the DMA shift the recieved Data into my own RX-Buffer.

I would like to use the parity-option to delete the complete recived data if a partiy-error ocours.

The problem right now is that the Parity-Error-Flag is overwritten if the USCI-RX-Buffer is read, and i read it directly via DMA.

So how can i catch the Parity-Error in a recived byte-string over 3-6 Bytes while shifting with DMA?

 

Greets

 

Carsten

  • From users guide:

    When UCRXEIE = 0 and a framing error or parity error is detected, no character is received into UCAxRXBUF.

    However, while this won't generate an RX interrupt and therefore nto start a DMA transfer, it won't generate an RX interrupt and you therefore won't notice that you missed a byte due to a parity error.
    You can try a trick: sue the start bit receive interrupt feature. In teh ISR check whether the parity error bit is set. However, this mus thappen before the next byte is received, causes constant interrupts onevery byte and makes the whoel processof using DMA useless. And if you already get an interrutp per byte, you can leave UCRXEIE set and check it before reading RXBUF manually.

    Yes, a separate RX error interrupt would be nice. But there is none. So no way to use DMA and parity error detection at the same time.

  • Hello Jens,

     

    Thanks for your advices, i came to the same result. Would be a nice feature if TI could integrate this option into the DMA..

     

     

    Greets

     

    Carsten

**Attention** This is a public forum