Приветствую. Подскажите как правильно настроить передачу данных по UART с arduino DUE на arduino MEGA?
DUE принимает по usb порту данные в реальном времени, постоянно. 35 байт. На основе принятых данных включаются те или иные светодиоды, вращаются сервоприводы. (Параллельно работает как hid устройство по второму порту) - короче симулятор приборной панели))) привет ETS.
И вот к ней появилась необходимость добавить дисплей, чтобы отображать часть приходящих данных (например время, статус круиз контроля, уровень повреждений, и тд.) 
Дисплей с разрешением 480x320 на чипе 9488 удалось завести, но spi очень медленный и отрисовка блочила ход программы. Изза этого большая задержка на светодиодах и сервы ведут себя непредсказуемо и тд. 
Было принято решение дисплей поменять на вот такой: 
вот такой воткнуть в мегу, а по UART отдать часть приходящих данных. (около 15 байт)
И вот тут понадобилась помощь. Данные пока тестовые, но проблема есть - данные доходят но
 меняются местами все время. Привожу примеры скетчей. 
Подключение: DUE TX1 -> MEGA RX1 ну и земли замкнуты.
Как ограничить количество байт и вообще правильно все построить?!
DUE - отправитель
#define PACKET_SYNC 0xFF
void setup() {   
  Serial.begin(255000); // это usb с компа 
  Serial1.begin(9600);
}
void loop() {
  //1
  Serial1.write(PACKET_SYNC);
  //2
  Serial1.write(120);
  //3
  Serial1.write(66);
  //4
  Serial1.write(200);
}
MEGA - приниматель
#define PACKET_SYNC 0xFF
int serial_byte;
void setup() {
  Serial.begin(9600); //вместо дисплея пока на тестах гляжу просто в монитор порта
  Serial1.begin(9600);
  Serial.println("reset");
}
void loop() {
  //1
  serial_byte = Serial1.read();
  //if (serial_byte != PACKET_SYNC) return;
 //проверка пока закрыта, она конечно частично решает вопрос но отправка все равно скачет и иногда вообще 
 //заканчивается
  Serial.println(serial_byte);  
  //2
  serial_byte = Serial1.read();
  Serial.println(serial_byte);
  //3
  serial_byte = Serial1.read();
  Serial.println(serial_byte);
  //4
  serial_byte = Serial1.read();
  Serial.println(serial_byte);
  Serial.println("------------");
  delay(200);
}