اول راه حل دومتون رو میگم به جای استفاده از Delay از تابع millis استفاده کن
https://www.arduino.cc/en/Reference/Millis
کدتون برای دریافت 3 بایت رو تا حالا اینجوری ندیده بودم
جالب بود
البته ورژن صحیح ترش برای 2 بایت این شکلیه :
من همیشه با حلقه for می نویسمکد:while(Serial.available() < 2); //wait until there are two bytes in the bufferMAP = Serial.read() << 8 ; //read MSB into MAPMAP += Serial.read(); //read LSB into MAP