Hola:
·Estoy tratando de comunicar el PIC con un dispositivo que envía paquetes de largo variable vía RS-232 a 1200 bps, con un retardo de varios segundos entre cada paquete. Necesito saber cuándo un paquete está listo para procesarlo. Se me ocurre usar un flag de timeout; por ejemplo, si no llega ningún byte dentro de un segundo, setear el flag, y así indicar que hay datos para procesar. Los paquetes tienen una cabecera conocida de 6 bytes, pero no hay una secuencia de término, así que no puedo saber que el paquete fue recibido completamente por observación.
·Mi idea hasta ahora es habilitar una interrupción de timer junto con la interrupción de recepción serial, contar cuántas veces se dispara la interrupción de timer después de un evento int_rda, y si dicha cuenta supera cierto valor, setear un flag. Lo que me complica es que generalmente sólo uso interrupción serial, y temo que 2 interrupciones puedan interferirse mutuamente.
·Hasta ahora no he pasado mi idea a código, y no tengo certeza de que funcione. Podrían ayudarme con este problemilla?
Atte.
THX1138