Autor Tema: comunicacion RS-232  (Leído 2389 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado paco1980

  • PIC16
  • ***
  • Mensajes: 129
comunicacion RS-232
« en: 16 de Agosto de 2007, 11:14:36 »
Buenas a todos.
Una preguntita:
¿No os pasa cuando programais un pic para que se comunique con el pc por el puerto RS-232 con un max232, que algunas( y no pocas ) veces no responde?
Le vas preguntando desde el PC y te va respondiendo, pero hay algunas veces que no responde.
¿Es esto normal, o las comunicaciones siempre van 100%?
Muchas gracias.

Un saludo

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: comunicacion RS-232
« Respuesta #1 en: 16 de Agosto de 2007, 15:18:10 »
Buenas a todos.
Una preguntita:
¿No os pasa cuando programais un pic para que se comunique con el pc por el puerto RS-232 con un max232, que algunas( y no pocas ) veces no responde?
Le vas preguntando desde el PC y te va respondiendo, pero hay algunas veces que no responde.
¿Es esto normal, o las comunicaciones siempre van 100%?
Muchas gracias.

Un saludo


En general siempre me responde pero también es cierto que en el pic tengo contemplado todos los posibles fallos.

Los protocolos que diseño vuelven permiten detectar si respondió , si no respondió, si respondió correctamente o no, etc.

Ten presente que también en el lado del pic, debes verificar que no se haya activado ningún bit de error de usart y que tu software permita atender la usart sin que se te llene de bytes el buffer (que permite hasta 3 bytes máximo).

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: comunicacion RS-232
« Respuesta #2 en: 17 de Agosto de 2007, 05:43:57 »
Hola paco1980!

Una preguntilla... trabajas con CCS?


Un saludo desde Alicante.

Desconectado paco1980

  • PIC16
  • ***
  • Mensajes: 129
Re: comunicacion RS-232
« Respuesta #3 en: 17 de Agosto de 2007, 11:02:01 »
Sip, trabajo con CCs. Por?
¿Es que te suele suceder esto?
Un saludo.

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: comunicacion RS-232
« Respuesta #4 en: 19 de Agosto de 2007, 08:57:33 »
Hola paco1980!

A ver si esto te sirve de algo. Ya nos comentas la experiencia.

http://www.todopic.com.ar/foros/index.php?topic=16340.msg107326#msg107326


Un saludo desde Alicante.

Desconectado paco1980

  • PIC16
  • ***
  • Mensajes: 129
Re: comunicacion RS-232
« Respuesta #5 en: 21 de Agosto de 2007, 04:12:22 »
Vamos a ver.
¿Es que aunque esté activada la interrupción por rda debe aparecer el kbhit?.
Supongamos lo siguiente:
int dato=0;

# int_rda
void interrupcion()
{
disable_interrupts(global);
dato=getc();
if dato==5
{
printf(dato);
}
enable_interrupts(global);
}
"No os fijeis en la gramática, ya que lo he echo de repente, ya que si hay algún error, en mi programa está bien puesto.
¿No debería funcionar bien así?.
Pues a veces me responde a la primera, y la mayoría tengo que enviarle el '5' dos veces para que el pic me responda.
¿Es normal?
¿He hecho mal el procedimiento?
Muchas gracias.
Un saludito.

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: comunicacion RS-232
« Respuesta #6 en: 21 de Agosto de 2007, 12:48:50 »
Tendría que funcionar bien si no ponemos el kbhit?? Pues supongo que si. El caso es que yo siempre lo he utilizado y núnca he tenido el problema que comentas.

Como cuesta muy poco... ponlo y así se puede salir de la duda.

Ya nos cuentas que tal funciona.


Un saludo desde Alicante.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: comunicacion RS-232
« Respuesta #7 en: 22 de Agosto de 2007, 10:23:08 »
paco1980, aun sigues sin revisar los errores de que te he comentado, pero aún así, veo algo raro en tu código, aunque aclaro que no soy usuario de CCS.

Veo que en la rutina de interrupción desactivas las interrupciones Globales y luego la activas.

Al ir al vector de interrupción el microcódigo del pic automáticamente pone el GIE en 0 y para reactivarlo, si los muchachos de CCS hicieron bien las cosas debiera volverse con un RETFIE lo cual lo re-activará por ello no suele ser necesario hacer eso que haces.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado paco1980

  • PIC16
  • ***
  • Mensajes: 129
Re: comunicacion RS-232
« Respuesta #8 en: 22 de Agosto de 2007, 11:04:20 »
hola maunix.
o sea, que cuando estoy dentro de una interrupción, aunque no desabilite las demás, es imposible que el pic atienda a otras que se produjeran sin antes terminar la interrupcion actual. ¿Es así?.
Referente a los posibles errores que me comentabas, lo que he hecho ha sido probar la comunicación con el hiperterminal del pc, mandandole un caracter y esperando la respuesta, por lo tanto no se puede llenar el buffer, ni le doy poco tiempo. (Creoo).
Lo que me hace es que casi siempre me responde a la segunda vez que le pregunto y no se porqué es.
Gracias.

Desconectado paco1980

  • PIC16
  • ***
  • Mensajes: 129
Re: comunicacion RS-232
« Respuesta #9 en: 21 de Septiembre de 2007, 04:19:49 »
Bueno chicos a quien todavía le interese este tema, ya he encontrado el problema, y no lo aseguro, pero la culpa creo es de microchip.
Para este programilla uso 18lf4431, y uso su oscilador interno a 31KHz, según CCS, puedo usar la comunicación rs-232, a una velocidad máxima de 300 bps. Pues no es así, ni a 300bps ni a 100bps. De cada 6 pics, funcionan perfectamente 2, y esto no es de recibo. Al elevar la frecuencia del oscilador interno, se van todos los problemas, y ahora ya puedo trabajar a 9600bps. La pega es que a mayor frecuencia de oscilador mayor consumo. Despues de 31kHz, la frecuencia más próxima del pic son 4MHz, y estoy dudando si posiblemente, en vez de hacer esto, utilizo un cristal externo de 1MHz, a lo mejor obtengo menos consumo.
Bueno, espero que a alguien le haya interesado.

Un saludo.