Hi,
I am having similar issue. I am using a serial port monitor software to monitor date in my serial port. I found that the current received data of COM Rx is not being moved into the assigned buffer. The assigned buffer is being filled with the data received from previous COM Rx scan. That's why it needs to press button twice to have assigned buffer updated, but with previous received data.
Jay