可能是由于串口通信时数据丢失或缓冲区溢出导致的。可以尝试增加等待时间或使用更大的缓冲区。同时,建议使用Serial.available()来确保有足够的数据可用。以下是一个例子:
byte buffer[10]; //缓冲区大小为10
void loop() {
if (Serial.available() >= 10) { //确保至少有10个字节可用
int bytesRead = Serial.readBytes(buffer, 10); //读取10个字节
for (int i = 0; i < bytesRead; i++) {
Serial.print(buffer[i]);
}
Serial.println();
}
}