Pointer to a reception buffer seems to have zero in all the other elements differents but the zero index , why with an STM32F401VE
uint8_t analize_string(uint32_t * incomming)
{
    static uint8_t incCounter = 0;
    static uint8_t arreglo[Long_Rec] = {0};
    arreglo[incCounter] = incomming[incCounter];

arreglo is a uint8_t array while incomming is a pointer to uint32_t that is presumably the first element of an array.
One must always remember that pointer arithmetic and array indicies operate on the declare width of the data item, eg, the increment is only bytes if the width of the element is 1 byte.  If it's four bytes, then the increment is four bytes.
As such each execution of
arreglo[incCounter] = incomming[incCounter];

Reads four consecutive bytes of the source (starting at the inCounter * 4th byte), but can only write the lowest order byte to the destination, almost certainly not what you want.
Just trying to fix that is unwise though, the whole architecture needs to be rethought from the start.