From 19b6225b25e93cf81dc9433a2ad063eb7745bc93 Mon Sep 17 00:00:00 2001 From: Eveldee Date: Mon, 14 Dec 2020 22:00:38 +0100 Subject: [PATCH] Check amount of received data Fix a bug --- WaveshareUARTFingerprintSensor/FingerprintSensor.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/WaveshareUARTFingerprintSensor/FingerprintSensor.cs b/WaveshareUARTFingerprintSensor/FingerprintSensor.cs index b60c9da..c1de856 100644 --- a/WaveshareUARTFingerprintSensor/FingerprintSensor.cs +++ b/WaveshareUARTFingerprintSensor/FingerprintSensor.cs @@ -110,7 +110,13 @@ namespace WaveshareUARTFingerprintSensor _serialPort.Write(buffer, 0, buffer.Length); // Response - _serialPort.Read(buffer, 0, buffer.Length); + int length = buffer.Length; + int offset = 0; + do + { + int toRead = length - offset; + offset += _serialPort.Read(buffer, offset, toRead); + } while (offset < length); if (buffer[0] != PacketSeparator || buffer[7] != PacketSeparator || buffer[1] != (byte)commandType) {