Hi 友妃代 渡辺,
Today, I test the project which you mentioned.
That project cr_startup_lpc82x.c g_pfnVectors have the problems, it doesn't add the DMA interrupt, so you need to add the DMA_IRQHandler, handler at first:
extern void (* const g_pfnVectors[])(void);
__attribute__ ((section(".isr_vector")))
void (* const g_pfnVectors[])(void) = {
&_vStackTop,
ResetISR,
NMI_Handler,
HardFault_Handler,
0,
0,
0,
0,
0,
0,
0,
SVC_Handler,
0,
0,
PendSV_Handler,
SysTick_Handler,
SPI0_IRQHandler,
SPI1_IRQHandler,
0,
UART0_IRQHandler,
UART1_IRQHandler,
UART2_IRQHandler,
0,
0,
I2C_IRQHandler,
SCT_IRQHandler,
MRT_IRQHandler,
CMP_IRQHandler,
WDT_IRQHandler,
BOD_IRQHandler,
0,
WKT_IRQHandler,
0,
0,
0,
0,
DMA_IRQHandler,
0,
0,
0,
PININT0_IRQHandler,
PININT1_IRQHandler,
PININT2_IRQHandler,
PININT3_IRQHandler,
PININT4_IRQHandler,
PININT5_IRQHandler,
PININT6_IRQHandler,
PININT7_IRQHandler,
};
void DMA_IRQHandler(void) ALIAS(IntDefaultHandler);
Actually, it't better to refer to the following vector table add the whole vector tables.
extern void (* const g_pfnVectors[])(void);
__attribute__ ((used,section(".isr_vector")))
void (* const g_pfnVectors[])(void) = {
&_vStackTop,
ResetISR,
NMI_Handler,
HardFault_Handler,
0,
0,
0,
__valid_user_code_checksum,
0,
0,
0,
SVC_Handler,
0,
0,
PendSV_Handler,
SysTick_Handler,
SPI0_IRQHandler,
SPI1_IRQHandler,
0,
UART0_IRQHandler,
UART1_IRQHandler,
UART2_IRQHandler,
0,
I2C1_IRQHandler,
I2C0_IRQHandler,
SCT_IRQHandler,
MRT_IRQHandler,
CMP_IRQHandler,
WDT_IRQHandler,
BOD_IRQHandler,
FLASH_IRQHandler,
WKT_IRQHandler,
ADC_SEQA_IRQHandler,
ADC_SEQB_IRQHandler,
ADC_THCMP_IRQHandler,
ADC_OVR_IRQHandler,
DMA_IRQHandler,
I2C2_IRQHandler,
I2C3_IRQHandler,
0,
PININT0_IRQHandler,
PININT1_IRQHandler,
PININT2_IRQHandler,
PININT3_IRQHandler,
PININT4_IRQHandler,
PININT5_IRQHandler,
PININT6_IRQHandler,
PININT7_IRQHandler,
};
Then build the periph_dma_uart project and run it again.
This is my test result:

You can find, after several times send, I can receive the correct data.
Just from the received result, I didn't meet the problem which you mentioned, I didn't add the delay code, just comment the __WFI(); code.
My test board is the LPCXpresso824-MAX board, associated with the TTL-USB tool.
So, do you have the official board, can you also use the official board to reflect the problem? If you also can use the official board to reproduce it, please tell me the reproduce steps, thank you!
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------