Additional Information
When examining LabVIEW’s serial communication example (located in NI Example Finder under Hardware Input and Output > Serial > Simple Serial.vi), you’ll notice that it begins with a VISA Configure Serial Port node. This node sets up both the termination character (which defaults to hex 0A, representing “linefeed”) and the timeout (which defaults to 10 seconds).
If you’re reading serial data and encounter a byte that matches the configured termination character, the VISA Read VI assumes that this marks the end of the requested data and stops the reading operation. This occurs even if condition 1 (receiving all requested bytes) hasn’t been met.
By default, using the termination character usually doesn’t cause issues in normal text communications. However, binary data doesn’t assign any special meaning to the 0x0A byte. In the example you provided, this is why the first read operation stops after 63 bytes, leaving the remaining 37 bytes in the software buffer waiting to be read. If you’re dealing with binary data transfers over serial, it’s advisable to disable the termination character in the VISA Configure Serial Port VI. To do so, set the input Enable Termination Char to False.