Autor Tema: Basura en la 1a TX por RS-232  (Leído 1802 veces)

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

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Basura en la 1a TX por RS-232
« en: 22 de Octubre de 2008, 06:07:57 »
Hola, os cuento lo que me pasa:

Tengo el PIC conectado a un Max232 y ambos reciben la alimentación "a la vez" cuando se conecta el circuito. El PIC espera a que le llegue un comando y luego responde con una trama propia. El Max232 tiene dos leds, uno para TX y otro para RX. Resulta que se me queda encendido el de TX al alimentar el circuito y no se apaga hasta después de la primera transmisión. A partir de ahí pasa a funcionar correctamente encendiéndose cuando pasan los datos.

El problema es que esa primera transmisión envía "basura" al PC´. El resto de transmisiones funcionan perfectamente.

Puede ser un problema de alimentación?

Problema de cómo están configurados los pines? Uno está como salida y otro como entrada, lógico, pero al inicio del programa fijo todas las salidas a cero de golpe.

jacrmr

  • Visitante
Re: Basura en la 1a TX por RS-232
« Respuesta #1 en: 22 de Octubre de 2008, 15:43:39 »
La PC siempre debe de ver un "1" (es decir la línea siempre debe estar inactiva). Al momento de energizar es probable que haya un breve período en donde la línea se pone a cero indicando un bit start de transmisíón, indeseable por supuesto ya que no estás transmitiendo nada en realidad. Ocupas una resistencia pullup en la línea de salida del PIC para que no ocurra eso.

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Re: Basura en la 1a TX por RS-232
« Respuesta #2 en: 22 de Octubre de 2008, 21:15:27 »
Bueno, la solución ha sido hacer que el PIC envé un caracter nada más iniciarse y luego queda ya a la espera de los comandos. Así funciona todo ok.

De todos modos, he estado probando y aunque ponga el pin a 1 o a 0 al iniciar el programa, el led sigue ahi encendido. Sólo se apaga y pasa a su funcionamiento normal (encenderse con los datos) al transmitir la primera vez. Luego todo funciona ok. ¿?

Desconectado umalrovi

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 158
    • Aplicaciones Electrónicas
Re: Basura en la 1a TX por RS-232
« Respuesta #3 en: 23 de Octubre de 2008, 19:52:24 »
Hola DarkVert, Yo he realizado muchas comunicaciones serie y siempre le pongo led's en cada una de las patillas para que el operador sepa que funciona correctamente. He tenido muchos problemas conectado directamente el diodo en las patillas tx y RX porque que se me ocurrió poner una puerta NOT y a la salida una resistencia limitadora con su correspondiente diodo y funcionó perfectamente.

Espero haberte ayudado, un saludo,
Aplicaciones Electrónicas
http://www.neoingenia.com/

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Re: Basura en la 1a TX por RS-232
« Respuesta #4 en: 24 de Octubre de 2008, 08:18:13 »
He estado investigando y la tensión en el pin es de 2,5V más o menos, por lo que aunque el PIC saque un 1 o un 0 esa pata queda como "a su bola" hasta que se transmite algo y entonces pasa a funcionar bien.

No puedo poner la puerta NOT porque no me cabe en el circuito. La solución software que implementado es enviar un ACK justo encender el PIC y a partir de ahí todo funciona correctamente.

Gracias por los consejos!!

Desconectado umalrovi

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 158
    • Aplicaciones Electrónicas
Re: Basura en la 1a TX por RS-232
« Respuesta #5 en: 01 de Noviembre de 2008, 19:56:07 »
Te podría decir que éstuve casi 1 mes dandome cabezazos con un PIC porque me pasaba algo parecido y al final pensando que era de programación fue que la patilla del pic estaba KO.

Te propondría cambiar de pic a ver si es eso. Ya nos comentas, saludos.
Aplicaciones Electrónicas
http://www.neoingenia.com/