tengo una duda, estoy trabajando con un PIC16F1933 y su RS232 por Hardware y adicionalmente un RS232 por software, en el puerto que trabaja por software tengo conectado un lector de tarjetas de proximidad HID.
al leer, realizo lo necesario para extraer el facility code y el card number, y lo envio a traves del RS232 que esta por hardware, todo parece ir relativamente bien, pero (aqui viene el pero
), el detalle esta en que en ocaciones cuando leo una tarjeta me cambia el Facility code o el card number, durante un par de lecturas y luego vuelve normal.
es decir, cuando arranca el programa, leo la tarjeta Nº 3262 con facility code = 128 y todo ok, la puedo leer varias veces esa misma y todo ok, cuando leo otra tarjeta diferente, ahi cambia el Facility code o el card number, despues vuelvo a pasar la primera tarjeta y manda mal el card number, hasta despues de 3 lecturas todo vuelve a estar bien.
ahora no es de siempre, hay ocaciones que leo la tarjeta nº 2199, cambio de tarjeta y leo, me da mal el card number de la segunda tarjeta, regreso a la tarjeta 2199 y todo lo lee correcto, en pocas palabras es intermitente, por eso pienso que puede ser el rs232 emulado.
mis preguntas concretas son:
1.- el rs232 emulado o por software pudiera tener un fallo???
2.- que tan fiable es el emular un rs232???
3.- deberia cambiar a un pic con dos uart por hard???
4.- como puedo minimizar los errores de transmision???
Para tratar de descartar, coloque un cristal, de echo hice trabajar el proyecto con cristales desde 4Mhz, hasta 25Mhz, y siempre me da el mismo detalle. asi que mi problema no se soluciona colocandole un cristal resonador.
Alguna sugerencia???