hola elreypic2, buenas tardes,
no te respondí antes ni te agradecí porque estuve implementando la solución del transistor, que mejoró la transmisión, pero como no me convencía el porcentaje de error que seguía existiendo, intenté mejorar el protocolo en base al post que me recomendaste,
básicamente el protocolo inicial era este array
paquete[0] = 0xAA; // sincronia
paquete[1] = 0xAA; // sincronia
paquete[2] = 0xAA; // sincronia
paquete[3] = 0xAA; // sincronia
paquete[4] = 0x7E; // inicio
paquete[5] = 0x11; // direccion
paquete[6] = 0x00; // DATO
paquete[7] = 0x00; // checksum
paquete[8] = 0xCC; // fin de trama
y le agregué 4 bytes con 0xff al inicio y dos al final, los del final no creo que influyan,
paquete[0] = 0xFF; // estabilizacion
paquete[1] = 0xFF; // estabilizacion
paquete[2] = 0xFF; // estabilizacion
paquete[3] = 0xFF; // estabilizacion
paquete[4] = 0xAA; // sincronia
paquete[5] = 0xAA; // sincronia
paquete[6] = 0xAA; // sincronia
paquete[7] = 0xAA; // sincronia
paquete[8] = 0x7E; // inicio
paquete[9] = 0x11; // direccion
paquete[10] = 0x00; // DATO
paquete[11] = 0x00; // checksum
paquete[12] = 0xCC; // fin de trama
paquete[13] = 0xFF; // estabilizacion
paquete[14] = 0xFF; // estabilizacion
este agregado me bajó el porcentaje de error a menos del 5%, calculando que estoy enviando 5 bytes efectivos, los del protocolo, y falla en uno de cada 10 ~ 15 datos,
el error de frame sigue apareciendo y ahora también aparece el de desbordamiento, pero de celoso que es,
lo que noté es que cuantos más bytes agregue de estabilización, mejor se comporta, todo esto con una distancia de 1 1/2 metro entre el emisor y el receptor, en estos días, después que pula un poco más el código, probaré con la distancia,
muchas gracias por la ayuda,
saludos,