Autor Tema: Configurar #use rs232  (Leído 2582 veces)

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

Desconectado GabrielD

  • PIC10
  • *
  • Mensajes: 34
Configurar #use rs232
« en: 09 de Diciembre de 2014, 13:47:43 »

Buenos dias muchachos,

Les escribo hoy porque necesito de su ayuda para mi trabajo de tesis de grado.

Estoy trabajando en una comunicacion con el medidor  EKM-Omnimeter I v.3, aqui les dejo el datasheet por si alguien esta interesado es un medidor muy versatil spec sheet  y el enlace de la pagina EKMmetering.

La comunicacion se realiza por RS-485, y gracias al maestro RedPic ya he estado viendo como funciona  :), ahora necesito configurar el #use rs232 para cumplir con las especificaciones de los fabricantes.

Ellos dicen que la comunicacion se debe realizar a 9600 bauds, 7 data bits, Even parity, 1 Stop bit, No Flow Control.

Por favor me podrian ayudar a realizar ese ajuste. Tengo entendido que los data bits se podian ajustar a 8 y 9 pero no se si 7 lo acepte al igual que no se como ajustar el Even parity y el No Flow Control.

Agradezco mucho su ayuda de antemano muchachos :)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Configurar #use rs232
« Respuesta #1 en: 09 de Diciembre de 2014, 15:24:56 »
7 bits de dato + 1 de paridad + 1 de stop = 9 bits ?

Mirando la imagen a continuacion de otro micro( con UART a 9 bits ). Imagino que deberias usar bits=8 ( aunque 7, es valido desde 5 a 9 ) por que no se como toma los "bits" ese comando. si toma la paridad o no



#use rs232(baud=9600,parity=E,stop=1,xmit=PIN_C6,rcv=PIN_C7,bits=8, stream=XXX)

No hace falta poner el stop=1 por que ya viene por default en 1, asi que podrias omitirlo.

#use rs232(baud=9600,parity=E,xmit=PIN_C6,rcv=PIN_C7,bits=8, stream=XXX)


Con eso no tenes flow control, sino necesitarias creo que un par de pines mas por ejemplo el PIC24Fj64GA004 tiene 2 pines mas.
UARTx Clear to Send (UxCTS) and Request to Send (UxRTS) are the two hardware controlled pins that are associated with the UART module. These two pins allow the UART to operate in Simplex and Flow Control mode.

CCS provee unas fucniones para implementar flow control y asiganarselo a unos pines.
« Última modificación: 09 de Diciembre de 2014, 15:44:35 por KILLERJC »

Desconectado GabrielD

  • PIC10
  • *
  • Mensajes: 34
Re: Configurar #use rs232
« Respuesta #2 en: 09 de Diciembre de 2014, 16:48:30 »

Aaahhh ok KILLER muchisimas gracias no sabia eso del Flow control, gracias por enseñarme.

Y si ya con la mente mas descansada estaba empezando a pensar en eso de los 9 bits, gracias por sacarme de la duda y por la ilustracion ahora ya entiendo mas.

Por cierto eso del stream como funciona, la verdad nunca lo he utilizado para realizar mis comunicaciones, eso es mas para cuando se va a realizar la comunicacion por software cierto?

gracias nuevamente por mostrarme como se configura y por tu rapida respuesta :D

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Configurar #use rs232
« Respuesta #3 en: 09 de Diciembre de 2014, 17:26:14 »
Yo vi que al Stream lo usan para cuando trabajan con varios SPIs

Ejemplo sacado de internet:
Código: [Seleccionar]
#USE RS232 (BAUD = 9600, XMIT = PIN_B0, RCV = PIN_B1, STREAM = COM_A)
#USE RS232 (BAUD = 9600, XMIT = PIN_B2, RCV = PIN_B3, STREAM = COM_B)

void main(void) {
   char c;
   
   fprintf(COM_A, "Online\n\r");
   fprintf(COM_B, "Online\n\r");
   
   while(TRUE) {
      c = fgetc(COM_A);
     
      fputc(c, COM_A);
      fputc(c, COM_B);
   }
}


 

anything