Reccomendation: Troubleshootig techinque

Your uC receives, processes, and sends hex commands. Add 3 LEDs and have each light up at each different stages of the routine: turn the first LED on when it it's begun receiving, the next on when it begins processing, and the final LED on when it beings sending, and all off after it's finished sending.

If it stalls, then you'll know which stage of the routine to look at.

Thanks for the tip!

I thought of inserting serial.println statements to have flags appearing on the serial terminal at various steps but I ended up with a screen full of flags which was useless. The led approach you propose might be far better!