Receiving Characters From UART Corrupts Memory
> // pUART2Rx2 is global:
> uint8_t pUART2Rx2; /**< UART2 Rx DMA buffer for receiving commands */
>
> // Exectuted in an initialization function:
> HAL_UART_Receive_DMA( &huart2, pUART2Rx, 2 );
It looks like you’ve declared pUART2Rx2 as a single byte, then configured the DMA to transfer two bytes.
But you also declare pUART2Rx2 then reference pUART2Rx, so I don’t see how this code compiles at all.