Help with UART DataReceived

You need to listen for the AA 55 as that appears to be constant and then wait until the correct number of bytes are in the RX buffer, then read them out and then process. If the data is fixed length, this is easy. If variable, you need to wait. Use state flags to know where in the RX stream you are.

Have a look at the Modbus library. It handles the received data in a thread and the length varies. It would be a good starting point as to how to handle the incoming data.