creo que tu comentario es acertado dhmejia.
teniendo esto (que es lo que tengo)
[PIC]<------->[Modulo]
al que he llamado "modulo", yo le envio una serie de bytes donde va
1.- Formato de envio (como cabecera de mensaje, 2 bytes fijos)
2.- numero de bytes que conforman el comando (1 byte)
3.- Codigo hexa que representa un comando (1 byte)
4.- parametros que acompañan al comando (varios bytes, de ninguno a 16)
5.- codigo de deteccion de error (1 byte)
Todo esto lo recibe el "modulo", via serial (TTL), lo interpreta, ejecuta y responde con otro numero de bytes, cuya cantidad y contenido es predecible.
Pues bien, como ya habia dicho, el PIC envía bien, y el modulo ejecuta y responde bien.
el problema es que de los bytes que esperaba recibir, siempre se "come" (omite) uno
si son 5 bytes recibe el primero, el tercero y el quinto....
y parece ser lo que tu dices... recibe el primer byte de respuesta del "modulo" y mientras lo procesa, llega el segundo, y mi PIC ni se entera, llega el tercero, y ése si lo detecta... mientras procesa ese tercero, llega el cuarto, y el PIC no se entera, termina, llega el quinto y ése tambien lo detecta....
creo que eso es lo que pasa... entonces deberia tratar de lograr que el "modulo" no se apresure tanto y espere un poco mas entre byte y byte. o quizas, colocar un cristal mas rapido ¿10 MHz? pa que el PIC procese a tiempo...