Autor Tema: PIC16F877 Y RS232  (Leído 4373 veces)

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

Desconectado marce128

  • PIC10
  • *
  • Mensajes: 38
PIC16F877 Y RS232
« en: 16 de Abril de 2012, 13:48:05 »
buenos dias. les tengo la siguiente consulta.

resulta de que dispongo de un equipo ( inyeccion electronica ), el cual tiene un puerto de comunicaciones RS232, para adquirir datos atravez de este puerto de la inyeccion, yo debo enviarle un caracter "A" con el cual me devuelve un array de 22 bytes, solo separados por un espacio, donde cada byte es un valor que necesito procesar para mostrarlo en un display.
si le envio el caracter "R" me devuelve un array de 39 bytes, los cuales son los mismos 22 anteriores mas 17 datos extra.
si le envio "S" o "T", me devuelve un string en ASCI con datos de version y firmware del dispositivo.


lo que necesito saber es como hacer para que cada uno de los bytes que voy a recibir se coloquen en la ram, y como hago para levantarlos despues ( esto ya se como es ).
el tema es que al entrar los datos, necesito que cada byte se guarde en una variable, y el byte siguiente en la proxima, etc, sin que se mezclen los datos. ya que no dispnen ninguna etiqueta ni nada en el envio, solo debo ver en que posicion ingresó, y con eso se de que dato se trata.

hay algun tuto por ahi para esto??


muchas gracias

 

Desconectado marqueses

  • PIC12
  • **
  • Mensajes: 80
    • Alberto Marqueses Blog
Re: PIC16F877 Y RS232
« Respuesta #1 en: 17 de Abril de 2012, 05:30:35 »
Hola marce,

Podrias guardarlos en un array

guardando[22];
.
.
.
putc(A);
for(i=0;i<21;i++)
guardando=getc();

Es solo una idea, ya comentas como lo solucionas, suerte! ;-)
Alberto Aragón Marqueses
albertomarqueses.wordpress.com

Desconectado marce128

  • PIC10
  • *
  • Mensajes: 38
Re: PIC16F877 Y RS232
« Respuesta #2 en: 17 de Abril de 2012, 08:49:58 »
esa es la idea, deberia destinar 22 bytes de ram para ir guardando los datos que ingresan, el tema es que con C estoy muerto, por eso consulto si alguien vio algo en flowcode, si no voy a tener que ver como es el tema y colocar algo de codigo C en mi diagrama.


muchas gracias por responder.

Desconectado Radiotecnico

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 221
    • Microcontrolador
Re: PIC16F877 Y RS232
« Respuesta #3 en: 17 de Abril de 2012, 11:45:35 »
 :) Saludo!!!
Descarga el archivo de abajo, allí te explico una idea.
Suerte Amigo.
Necesario es saber...

Desconectado marce128

  • PIC10
  • *
  • Mensajes: 38
Re: PIC16F877 Y RS232
« Respuesta #4 en: 17 de Abril de 2012, 13:56:26 »
radiotecnico, muchas gracias por tu ayuda.

es una buena idea, aunque para mi no es importante que los valores queden guardados al cortar la alimentacion, y por otro lado yo necesito leer valores por rs232 cada 250ms, y teniendo en cuenta que (dicen) que la vida util de la eeprom es de 1.000.000 de escrituras/lecturas, mi memoria estaria agotada en menos de 3 dias.

creo que ya tengo una idea, ahora estoy viendo como desglozar los datos que ingresan via rs232.


Desconectado RockLee_89

  • PIC16
  • ***
  • Mensajes: 140
Re: PIC16F877 Y RS232
« Respuesta #5 en: 28 de Enero de 2013, 03:16:45 »
amigo marce128 veo que tu duda es vieja pero podrias usar la comunicacion serial via hardware de tu pic asi podrias usar la interrupcion del pic por resepcion de datos e ir guardandolos en una variable como te lo mencionaron los compañero para despues procesar la señal a un lcd o pasarla a una pc por comunicacion serial por sofware dependiendo el caso
saludos


 

anything