Autor Tema: comunicacion pic a pic RS232  (Leído 3275 veces)

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

Desconectado championz

  • PIC16
  • ***
  • Mensajes: 127
comunicacion pic a pic RS232
« en: 20 de Noviembre de 2006, 02:25:48 »
Buenas! tengo un problema con CCS y la comunicacion serial entre 2 pics.
Necesito enviar desde un pic y recibir desde el otro, pero a la vez, despues de un tiempo el circuito que envia debe recibir y el que recibe debe enviar, todo sobre el mismo enlace, es decir que defino 2 strems:

#use rs232(baud=4200,xmit=pin_A1,stream=envio)
#use rs232(baud=4200,rcv=pin_A1,stream=recibe)

RUTINA DE ENVIO y RECEPCION: esto iria dentro de un CASE

   case 3:
   lcd_putc("\fEnviando datos...");
   indice_dato=1;
   while(indice_dato<253)
   {
   dato=read_eeprom(indice_dato);
   fputc(dato,envio);
   indice_dato++;
   }
   lcd_putc("\fDatos transferidos!");
   break;

   case 4:
   lcd_putc("\fesperando datos...");
   indice_dato=1;
   while(indice_dato<253)
   {
   dato=fgetc(recibe);
   write_eeprom(indice_dato,dato);
   indice_dato++;
   }
   lcd_putc("\fDatos recibidos!");
   delay_ms(1000);
   goto pregunta_revision;
   break;

asi, de esta forma tendria que andar no? pero no funciona, esoty cometiendo algun error??

muchas gracias!

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: comunicacion pic a pic RS232
« Respuesta #1 en: 20 de Noviembre de 2006, 05:20:29 »
Hola Championz!

La comunicación rs232 es bidireccional. No necesitas poner:

#use rs232(baud=4200,xmit=pin_A1,stream=envio)
#use rs232(baud=4200,rcv=pin_A1,stream=recibe)

Con la primera ya tienes bastante. Sólo tienes que tener en cuanta que... el pin de transmisión del PIC1 se conecte con el de recepción del PIC2.

De esta forma... cuando hable el PIC1 le escuchará el PIC2 y viceversa.


Un saludo desde Alicante.

Desconectado championz

  • PIC16
  • ***
  • Mensajes: 127
Re: comunicacion pic a pic RS232
« Respuesta #2 en: 20 de Noviembre de 2006, 15:23:57 »
Gracias Azicuetano por tu respuesta, pero no entiendo bien lo que me quieres decir. Mi problema es que es un circuito que ya esta hecho, bah... son dos circuitos exactamente iguales, donde uno elije el modo en el que va a estar en cierto momento. uno puede ser el que envia y despues de un rato el que recibe.. pero todo sobre 1 mismo hilo de comunicacion. por eso es que defino 2 streams.

Otra de las preguntas que me suerge es si se puede usar cualquier pin del pic como tx o rx. En otras ocasiones he tenido problemas con las comunicacones de rs232 porque al parecer hay pines que no responden a este tipo de programacion... Hago un programa simple que envia y recibe datos por pines del pic y no anda, pero si redefino esos pines y los coloco en los pines de la USART del pic anda perfecto... no tendria que andar igual en cualquier pin???

muchas gracias

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: comunicacion pic a pic RS232
« Respuesta #3 en: 20 de Noviembre de 2006, 18:41:08 »
Ok Championz!

No te había entendido bien. Yo he utilizado en todas las comunicaciones RS232 que he implementado 2 pines. Uno de TX y otro de RX.

Es más, no sabía que se pudiera hacer con un sólo pin como tú comentas (buscaré info al respecto). De todas formas cuando lo consigas comentalo por aquí porfa.

Respecto a la segunda pregunta... algunos pines del pic tienen particularidades como ya sabrás. Si utilizas algún pin en colector abierto... o con cualquier otra tontería no funcionará correctamente. Te digo esto porque nunca he leido que nadie tenga problemas con la RS232 implementada por software ¿?¿?


Un saludo desde Alicante.