Autor Tema: cambio de pins RS232  (Leído 2626 veces)

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

Desconectado f-traxx

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 116
cambio de pins RS232
« en: 20 de Octubre de 2010, 13:22:15 »
Hola buenas, la idea que tengo es saber is es posible cambiar los pines por los que se transmite, osea, definimos:
#use rs232(baud=9600,parity=N,xmit=pin_c6,rcv=pin_c7,bits=8), y se que si luego dentro del main ponemos lo siguiente:

       if (velocitat==1)
      {
      set_uart_speed(9600);
      }
      else
      set_uart_speed(2400);

Se puede cambiar la velocidad de envio por la UART, lo que no se es si se puede cambiar los pins por los que se transmite, que eso es lo que yo necesito...

Alguien me podra hechar una manita...? :( :(
« Última modificación: 27 de Octubre de 2010, 05:43:18 por f-traxx »

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: cambiar pins RS232
« Respuesta #1 en: 20 de Octubre de 2010, 15:21:15 »
Hola f-traxx, pues yo nunca he hecho el intento, pero el manual del CCS dice:
Citar
#USE RS232
... This directive tells the compiler the baud rate and pins used for serial I/O. This
directive takes effect until another RS232 directive is encountered. The #USE DELAY
directive must appear before this directive can be used....
Según lo que entiendo si es posible.  Sería cuestión de ensayar volviendo a declarar otra directiva RS232 en el lugar donde quieres cambiar los pines.

Saludos!

Desconectado f-traxx

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 116
Re: cambiar pins RS232
« Respuesta #2 en: 20 de Octubre de 2010, 17:03:08 »
Que quieres decir donde yo quiera cambiar los pins (en el main), poner esto: #use rs232(baud=9600,parity=N,xmit=pin_c6,rcv=pin_c7,bits=8)

No creo, porque si no me equivoco los #use son directivas de pre-procesado, lo que quiere decir que en el main no lo cogeria, solo lo cogeria antes de entrar en el, o solo me cogeria el último #use, eso es lo que quiero averiguar, ya que lo he simulado de esta forma en el proteus y no me funciona...

Grácias por las respuestas!!  ;-) ;-)

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: cambiar pins RS232
« Respuesta #3 en: 20 de Octubre de 2010, 17:36:47 »
Hola f-traxx es correcto, no en el main().  Del manual del CCS C:

The following is an example program to read from one RS-232 port (A) and echo the data to both
the first RS-232 port (A) and a second RS-232 port (B).

Código: [Seleccionar]
#USE RS232(BAUD=9600, XMIT=PIN_B0, RCV=PIN_B1)
void put_to_a( char c )
{
   put(c);
}
char get_from_a( )
{
   return(getc());
}

#USE RS232(BAUD=9600, XMIT=PIN_B2,RCV=PIN_B3)
void put_to_b( char b )
{
   putc(c);
}
main()
{
   char c;
   put_to_a("Online\n\r");
   put_to_b("Online\n\r");
  
   while(TRUE)
   {
      c=get_from_a();
      put_to_b(c);
      put_to_a(c);
   }
}

Más adelante en el manual, verás este mismo ejemplo pero mejor usando la opción STREAM

Saludos!
« Última modificación: 20 de Octubre de 2010, 17:44:13 por bmb »

Desconectado f-traxx

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 116
Re: cambiar pins RS232
« Respuesta #4 en: 21 de Octubre de 2010, 03:16:07 »
muchas gracias bmb  me mire el manual que tengo yo, que es en español, y de esto no salia nada... creo que tendre que actualizar a un manual mas completo... y respecto a la fúncion stream algo habia oido... Muchas grácias, lo pruebo y comento que tal va!!!

Por cierto... una forma de simularlo en el proteus?? :oops: :oops: o eso ya es mas difícil :?

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: cambiar pins RS232
« Respuesta #5 en: 21 de Octubre de 2010, 08:37:46 »
Hola f-traxx, te cuento que de Proteus ando mal en conocimientos. Solo lo más básico.  De pronto alguien más?

Saludos!

Desconectado f-traxx

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 116
Re: problema RS232
« Respuesta #6 en: 22 de Octubre de 2010, 08:15:33 »
 :-/ :-/ Estoy haciendo bastantes avances, he podido simularlo en el Proteus y casiiiii esta... lo que me pasa es que quando cambio de velocidad aunque modifique la configuracion del hiperterminal no funciona... ahora estoy en ello...

Quando lo tenga terminado lo posteo
« Última modificación: 25 de Octubre de 2010, 06:24:48 por f-traxx »

Desconectado f-traxx

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 116
Re: cambiar pins RS232
« Respuesta #7 en: 25 de Octubre de 2010, 06:36:40 »
Hola buenas, porfin puedo cambiar velocidad y pins de transmisión.

Aqui dejo los archivos de proteus y CCS.

Saludos F-traxx

Grácias por la ayuda prestada en http://www.aquihayapuntes.com/foro/viewtopic.php?f=11&t=104 ya que es la opcion que finalmente he seguido.
« Última modificación: 27 de Octubre de 2010, 05:42:50 por f-traxx »


 

anything