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

 

or

 

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.

Outcomes