Autor Tema: Lector HID en puerto RS232 por software  (Leído 1661 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Lector HID en puerto RS232 por software
« en: 28 de Agosto de 2014, 00:23:55 »
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  :D), 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???
« Última modificación: 28 de Agosto de 2014, 11:33:46 por thegame »
Nunca se deja de aprender

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Transmision sobre RS232 por Software
« Respuesta #1 en: 28 de Agosto de 2014, 00:32:09 »
Mañana tratare de descartar el lector y las 3 tarjetas HID que estoy usando, probando con otro lector y tarjetas probadas en funcionamiento.

saludos.
Nunca se deja de aprender

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Lector HID en puerto RS232 por software
« Respuesta #2 en: 28 de Agosto de 2014, 11:35:57 »
He cambiado el titulo de mi post porque me parece mas adecuado, bueno les comento que he cambiado de lector, otro HID y sigue haciendome lo mismo, de las 3 tarjetas HID que tengo solo una me la lee bien en el 99% de los intentos, incluso si ha leido mal previamente alguna de las tarjetas anteriores, ahora probare con mas tarjetas para ver si es fallo de las tarjetas.

Alguien ha tenido un detalle similar???

Saludos.
Nunca se deja de aprender

Desconectado Darkman_A

  • PIC18
  • ****
  • Mensajes: 288
Re: Lector HID en puerto RS232 por software
« Respuesta #3 en: 28 de Agosto de 2014, 12:00:17 »
Hola.
O yo no veo o no has puesto ninguna informacion como ser datasheets, esquemas, codigo, etc.

Saludos.

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Lector HID en puerto RS232 por software
« Respuesta #4 en: 28 de Agosto de 2014, 12:25:32 »
jeje si lo siento es que solo era para preguntar alguna sugerencia al trabajar con este medio de emulacion de RS232, pero sabes lo acabo de solucionar, resulta que estaba dejando sin limpiar unas variables auxiliares que uso en el proceso de decodificacion de datos de cada tarjeta, entonces se me quedaba un dato remanente, y por eso en la siguiente lectura en ocaciones me sumaba ese dato remanente.

solo tuve que limpiarlas despues de cada lectura y listo, asunto arreglado, creo que me sirvio escribir lo que me pasaba porque justo cuando lo hacia, decidi hacer que me enviara el dato conforme se construia paso a paso y ahi fue cuando vi que se quedaba con un valor las variables y que no las estaba limpiando.

gracias. y saludos. :-/ :-/ :-/
Nunca se deja de aprender