Meditando un poco más lo que indica Manolo, seria crear una función que procesa las tres interrupciones. Cuando se produce una interrupción la función toma el valor del timer, lo asociado al Pin que provocó la interrupción y esperamos el siguiente cambio de estado, volvemos a tomar el valor del timer y, calculamos para ir obteniendo el BIT de cabecera, BIT que va conformando el byte de datos y BIT de parada. Que se irán almacenado los bytes en respectivos búfer tipo fifo, que otra función se encargara de ir vaciando de forma ordenada por tramas completas. Resumiendo; crear una función de Rx de tres entradas que maneja la capa de bajo nivel del Rs232. Esta función genera tres búfer internos que son vaciados de forma ordenada por una salida de Tx tipo Rs232, en este caso para simplificar software mejor mediante modulo uar. Y todo esto un solo “micro”. Necesitaría un micro con mucha memoria ram para alojar los búfer y posiblemente 40Mhz de reloj, tendría que ser seguramente de la familia 18....?.