AnsweredAssumed Answered

LPC 822 UART RX with DMA : How can I initialize or advance the descriptor?

Question asked by 友妃代 渡辺 on Sep 9, 2018
Latest reply on Sep 13, 2018 by 友妃代 渡辺

I am using LPC822.


C: \ nxp \ LPCXpresso_8.2.2_650 \ lpcxpresso \ Examples \ LPCOpen \ lpcopen_3 _ 02 _ lpcxpresso _ nxp _ lpc xpresso _ 824. Zip \ periph _ dma _ uart


As in this example, four descriptors are used, and DMA_UART is performed only on RX by ping-pong operation.


Received data is always 8 bytes of uint, but there are occasional drops.


I improved it by adding delay so that it does not get lost, but when I miss it, I want to discard the data and capture it at the beginning of the next descriptor, how can it be done?

Or how do I initialize the descriptor?


Now 2 bytes of the next 8 bytes are included in the continuation area of the missing data (eg 6 bytes).

For example, suppose that data "01234567" "89 ABCDEF" is continuously received


descriptor 1: 01234589 (I missed "67")
descriptor 2: ABCDEF00


Because it becomes like this, I want to do as follows.


descriptor 1: 012345  (Discard this data)
descriptor 2: 89 ABCDEF




descriptor 1: 012345
Discard this data, initialize the descriptor

descriptor 1: 89 ABCDEF
descriptor 2: 00000000

I want to capture like this.

Thank you.

Yukiyo Watanabe.