Autor Tema: Comuncacion serial pic-la en c, restablecer conexión al desconectar cable serial  (Leído 1687 veces)

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

Desconectado jbte

  • PIC10
  • *
  • Mensajes: 7
buenos dias, tengo dos  dudas les agradecería si me pueden hacer el favor de colaborarme
 
1)yo hago una comunicación serial entre un pic y labview  pero desconecto el cable serial  y falla la comunicación y lo conecto de nuevo y toca darle reset a todo para que vuelva a iniciar, quisiera saber como hacer para desconectar y cuando vuelva a conectar el cable vuelva a funcionar, no se si halla que hacer algo como servidor y cliente.? que me recomiendan?

2)también quiero saber si al  labview estar  enviando muchos datos al pic el buffer no se llena  y viceversa el de labview o habra que enviar un identificador  que labview lo lea y el pic le envié y viceversa ? .

muchas gracias por su tiempo.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Comuncacion serial pic-la en c, restablecer conexión al desconectar cable serial
« Respuesta #1 en: 10 de Diciembre de 2014, 11:42:16 »
De que recuerde el puerto serial no funciona como un USB, recuerdo que tenia que apagar la PC para poner un mouse  :(.
No se si simplemente preguntando y que te responda el PIC vas a hacerlo funcionar ( me refiero a que si no responde es por que no esta conectado )

EDIT:

Leyendo por ahi es lo que se considera "hot plug" o "hot swap"

Citar
The problem with hotplugging is when both power and signal are provided through the same connector. Unless the connector is physically designed to connect the power pins first, the external device can pull power through the signal lines, which can damage the port controller or the device itself.
Y creo que es lo mas importante a recalcar, algunos dicen que nunca tuvieron problemas y otros que al realizar un hot plug terminaron quemando sus puertos. El tema hablaba de puertos serial/paralelo/ps2 y siguiendo la lectura me encuentro de mas lugares que especifican exactamente lo mismo. Que NO debe ser desconectado/conectado con la PC andando. Para eso tenes otros tipos de puertos como USB.

Citar
2)también quiero saber si al  labview estar  enviando muchos datos al pic el buffer no se llena  y viceversa el de labview o habra que enviar un identificador  que labview lo lea y el pic le envié y viceversa ? .

El buffer del PIC no se va a llenar si lo estas leyendo, cada ves que lees el buffer se quita un byte del mismo dejando lugar a otro byte mas. Tienen interrupcion apenas reciben datos por la UART y algunos otros MCU cuando el buffer esta a la mitad o cuando esta lleno. Si cada ves que recibee un dato este es leido como dije no va a haber problema, y con respecto al labview no se si tendra un tamaño minimo de buffer ya que no es tan limitada la memoria como en un PIC. google mi gran amigo:
http://digital.ni.com/public.nsf/allkb/98F799364B833C2A86256ADC00732073
http://digital.ni.com/public.nsf/allkb/7416B8A1418E77B5862564E4000FD44B

Y

Citar
For all serial port VIs, the default buffer sizes are 64 for Mac OS, 1024 for Windows Me/9x, and 4096 for Windows 2000/NT/XP. If you specify a buffer size of 0, the system keeps the same buffer size as before. The maximum buffer size on Mac OS is 32767 bytes, or 32 KB minus 1. The maximum buffer size on Windows is 65534 bytes, or 64 KB minus 2.

The buffer size must be an even number on Windows. If you specify an odd buffer size, LabVIEW rounds the value up to the next even value, or down, if you input 65535.
« Última modificación: 10 de Diciembre de 2014, 12:47:56 por KILLERJC »

Desconectado jbte

  • PIC10
  • *
  • Mensajes: 7
Re: Comuncacion serial pic-la en c, restablecer conexión al desconectar cable serial
« Respuesta #2 en: 10 de Diciembre de 2014, 20:09:57 »
no me explique bien el cable que tengo es un usb serial(tx,rx,5v,gnd) no uno con conector rs232. entonces al desconectar el cable usb serial se cae la comunicacion entre labview y el pic.

http://www.digikey.com/product-detail/es/USB-SERIAL-CABLE-F/1188-1018-ND/3471379

Citar
De que recuerde el puerto serial no funciona como un USB, recuerdo que tenia que apagar la PC para poner un mouse  Sad.
No se si simplemente preguntando y que te responda el PIC vas a hacerlo funcionar ( me refiero a que si no responde es por que no esta conectado )

EDIT:

Leyendo por ahi es lo que se considera "hot plug" o "hot swap"

Citar
The problem with hotplugging is when both power and signal are provided through the same connector. Unless the connector is physically designed to connect the power pins first, the external device can pull power through the signal lines, which can damage the port controller or the device itself.
Y creo que es lo mas importante a recalcar, algunos dicen que nunca tuvieron problemas y otros que al realizar un hot plug terminaron quemando sus puertos. El tema hablaba de puertos serial/paralelo/ps2 y siguiendo la lectura me encuentro de mas lugares que especifican exactamente lo mismo. Que NO debe ser desconectado/conectado con la PC andando. Para eso tenes otros tipos de puertos como USB.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Comuncacion serial pic-la en c, restablecer conexión al desconectar cable serial
« Respuesta #3 en: 10 de Diciembre de 2014, 20:44:52 »
Imagino que vas a tener que sensar Vbus y cuando se desconecte de la PC tirar toda la configuracion. para que cuando sense Vbus de nuevo volver a enumerar el dispositivo y asignarle todo lo que le tenga que asignar. (inicializar el USB nuevamente )

EDIT: veo que no tiene pin de alimentacion. Realmente no se como podes hacer.
« Última modificación: 10 de Diciembre de 2014, 21:00:14 por KILLERJC »

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Comuncacion serial pic-la en c, restablecer conexión al desconectar cable serial
« Respuesta #4 en: 10 de Diciembre de 2014, 21:16:30 »
tienes que programar un temporizador que esté pendiente de la comunicación, cuando haya pasado cierto tiempo, y no hayan llegado mas datos al labview, procede a ejecutar una rutina (previamente programada) que reinicie la conexión y comience nuevamente en escucha del puerto.

ambas partes deben tener un orden en la comunicación, el pic debe poder recibir una confirmación antes de seguir enviando datos, y el labview debería ser quien escuche todo el tiempo.
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado jbte

  • PIC10
  • *
  • Mensajes: 7
Re: Comuncacion serial pic-la en c, restablecer conexión al desconectar cable serial
« Respuesta #5 en: 11 de Diciembre de 2014, 00:35:54 »
Citar
KILLERJC
esa imagen solo tiene 3 cables fue la unica que encontre en internet pero en realidad tiene 4 tx,rx,gnd y vcc.
Citar
PalitroqueZ
muchas gracias asi creo que seria una comunicacion buena, intentare hacerlo como lo dijo y les comentare
muchas gracias a todos por tomarse el tiempo de responder.