Connecting Two Microcontrollers Via Serial RS232

I'm not overly familiar with serialEvent()

from HardwareSerial.cpp

void serialEventRun(void)
{
#ifdef serialEvent_implemented
  if (Serial.available()) serialEvent();
#endif
#ifdef serialEvent1_implemented
  if (Serial1.available()) serialEvent1();
#endif
#ifdef serialEvent2_implemented
  if (Serial2.available()) serialEvent2();
#endif
#ifdef serialEvent3_implemented
  if (Serial3.available()) serialEvent3();
#endif
}

called from main()

#include <Arduino.h>

int main(void)
{
	init();
#if defined(USBCON)
	USB.attach();
#endif
	setup();
	for (;;) {
		loop();
		if (serialEventRun) serialEventRun();
	}
	return 0;
}

Not a "multitasking background event" but checked once per loop and it won't interfere with your loop code ..
Never used it, as it gives no clue about the amount of data available --> SerialEvent improvement - Libraries - Arduino Forum