HAL_UART_Receive_DMA only receive last byte
Hi, i want use usart DMA to receive data, but i only get last data by HAL_UART_Receive_DMA.
STM32U575VITX
STM32CUBEMX 6.8.0
STM32CubeIDE 1.12.0
the transmit data is $$......##
my code is in main function

when i use HAL_UART_Receive(), i can get correct data, but it has packet loss to some extend.

when i use HAL_UART_Receive_DMA(), i only get last byte # .

cubemx setting for DMA:

cubemx setting for usart :

usart.c file is attached below.
i try this solution https://community.st.com/t5/stm32-mcus-embedded-software/stm32h750-dma-hal-uart-receive-dma-acting-oddly/m-p/569897 but, still can't solve it.
it will be very helpful, if any one tell me something.
thank you.

