Esta semana ha sido bastante agotadora, porque en el trabajo me he dedicado a "atrapar un gato negro en un cuarto negro donde no hay ningun gato".
Yendo al grano: estoy construyendo un "snifer" o espia para una comunicacion serial RS232. El espia funciona perfectamente para transferencia de archivos de hasta 256 bytes en todas las velocidades comunes de transmisión serial (desde 2400bps, hasta 38400bps), pero en la mas alta que estamos usando (57600bps) estoy perdiendo esporadicamente el segundo byte, no siempre sucede, no hay un patron con el que se repita la perdida.
Tres dias intentando cambiar unos tiempos de espera para no perder el bit de Stop o el de Start de el primer o segundo byte respectivamente, pero nada, ya veo el codigo y solo veo caracteres. Hoy intente manejar esa linea con el pin de interrupcion externa y no funciona bien cuando son mas de 10 bytes en la transferencia, tambien intente manejar la comunicacion manualmente (porque el problema es con una UART que tuvo que ser hecha en software, porque la de hardware del PIC ya esta en uso) pero estoy tan agotado de ese codigo que no me funcionó.
Ya atrapé al puto gato negro!!!
ReplyDelete