• Sábado 27 de Abril de 2024, 00:54

Autor Tema:  reconocer una trama serial con encabezado $GPGGA  (Leído 3705 veces)

josb86

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
reconocer una trama serial con encabezado $GPGGA
« en: Miércoles 26 de Mayo de 2010, 01:19 »
0
buenas como estan miren soy nuevo en el foro estoy comenzando con matlab manejo Basic y un poco de c++, pero he visto que manejar puertos seriales con c++ es bastante complicado, bueno les explico mi problema. tengo que recibir una trama por un puerto CON serial  ya eso lo puedo hacer:

>> PS=serial('COM2');
>> set(PS,'Baudrate',4800);
>> set(PS,'StopBits',1);
>> set(PS,'DataBits',8);
>> set(PS,'Parity','none');
>> set(PS,'Terminator','CR/LF');
>> set(PS,'OutputBufferSize',23);
>> set(PS,'InputBufferSize' ,86);
>> set(PS,'Timeout',5);
>> fopen(PS);
>> v = fscanf(PS,'%c',86)

v =

$GPRMC,220640.34,A,1612.809,N,06410.692,W,21.60,81.11,250510,0.0,E*4B


la cosa es la siguiente el aparato del que recibo estas tramas es un gps pero ademas de esta trama '$GPRMC' el manda otras mas todas juntas como por ejemplo la $GPGLL, $GPGSA, $GPGSV, $GMSS, etc. mi problema es que necesito que el programa guarde en la variable v solo cuando el encabezado de la trama sea $GPRMC, en basic para pics hay un comando que es "wait ('$GPRMC')" que espera a que se lea ese encabezado de trama y de alli comienza a leer hasta que llegue el final de la trama que es CR/LF si este encabezado  no llega el no guarda nada en la variable. ¿Existe algun comando asi en matlab?¿como podria hacer esto se los agradeceria?

la simulacion la estoy haciendo con un programa que emula un gps "GPS Generator PRO" y la union entre el puerto 2 y el 3 (GPS Generator PRO) lo hago con el Virtual serial port. lo unico malo de el programa  que emula gps es que como es gratis solo me muestra un tipo de trama que es la $GPRMC pero un gps verdadero muestra todas las que puse anteriormente.

michael morneo

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: reconocer una trama serial con encabezado $GPGGA
« Respuesta #1 en: Jueves 8 de Julio de 2010, 18:07 »
0
bueno compañero la verdad es que e estado haciendo algunas pruebas para saber que tipo de código es el que manda el GPS generador "simulador", el cual también esta siendo muy importante para mi, como base para poder fijar el tipo de trama que puede generar el GPS, aun que por mi parte e tenido problemas con mi receptor por que por algún motivo no e podido hacer que funcione en físico, te comento que si preguntas por <Retorno de carro>=<CR>,<Salto de línea>=<LF>, tendrías que preguntar con los carracteres correspondientes en este caso tendrías que mirar en VB los equivalentes a estas ordenes por ejemplo si estas en se tendrías que preguntar por "rn"los cuales se definen en el lenguaje C como  "r= retorno de carro" y "n=salto de linea", ahora bien si no quieres eso también puedes preguntar por sus correspondientes valores según su base ya sea DEC = 13 y 10 o HEX = 0x0D y 0x0A, correspondiente.

ya con eso puede hacer una interrupción en el comportamiento de tu software para que almacené los datos en donde lo as indicado, bueno también puedo decirte que no se que chip estas utilizando pero según lo que e podido indagar y entender del tema de los receptores de GPS todos pueden ser configurados desde su velocidad de transmicion, como las tramas que quieres utilizar, por consiguiente te aconsejo que mires la hoja de información de tu modulo para que sepas que orden tienes que generarle, con eso solo te preocupas por una sola trama y evitas todas las que no te interesan.

por otro lado me gustaría saber que tan fácil fue para ti conseguir el modulo receptor de GPS, en caso tal de que necesite un manito con eso.

bueno espero haber ayudado vemos

josb86

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: reconocer una trama serial con encabezado $GPGGA
« Respuesta #2 en: Miércoles 28 de Julio de 2010, 00:14 »
0
Cita de: "michael morneo"
bueno compañero la verdad es que e estado haciendo algunas pruebas para saber que tipo de código es el que manda el GPS generador "simulador", el cual también esta siendo muy importante para mi, como base para poder fijar el tipo de trama que puede generar el GPS, aun que por mi parte e tenido problemas con mi receptor por que por algún motivo no e podido hacer que funcione en físico, te comento que si preguntas por <Retorno de carro>=<CR>,<Salto de línea>=<LF>, tendrías que preguntar con los carracteres correspondientes en este caso tendrías que mirar en VB los equivalentes a estas ordenes por ejemplo si estas en se tendrías que preguntar por "rn"los cuales se definen en el lenguaje C como  "r= retorno de carro" y "n=salto de linea", ahora bien si no quieres eso también puedes preguntar por sus correspondientes valores según su base ya sea DEC = 13 y 10 o HEX = 0x0D y 0x0A, correspondiente.

ya con eso puede hacer una interrupción en el comportamiento de tu software para que almacené los datos en donde lo as indicado, bueno también puedo decirte que no se que chip estas utilizando pero según lo que e podido indagar y entender del tema de los receptores de GPS todos pueden ser configurados desde su velocidad de transmicion, como las tramas que quieres utilizar, por consiguiente te aconsejo que mires la hoja de información de tu modulo para que sepas que orden tienes que generarle, con eso solo te preocupas por una sola trama y evitas todas las que no te interesan.

por otro lado me gustaría saber que tan fácil fue para ti conseguir el modulo receptor de GPS, en caso tal de que necesite un manito con eso.

bueno espero haber ayudado vemos


le cuento que hice algunas modificaciones muchas diria yo y ya esta funcionando eso si lo he probado con un simulador de gps y con nectandolo con el virtual serial port, ahora el problema es que nose como hacer para que el haga este proceso apenas ejecute el programa, por que como lo tengo hecho tengo que darle clic a un boton para que capture la trama pero lo que quiero es que el lo haga solo. me puede ayudar?
a ver si te mando el codigo en un mensaje

michael morneo

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: reconocer una trama serial con encabezado $GPGGA
« Respuesta #3 en: Viernes 30 de Julio de 2010, 06:33 »
0
hola hombre pues la verdad es que si claro me seria muy grato ver que es lo que lleva, con eso tendría una mejor idea de que es lo que quiere y de paso pues aprendemos los dos por que también estoy en una situación muy parecida ya que los módulos receptores tienen unas tramas de inicio para poder arrancar el modulo en frío es decir cuando no a tenido alimentación de batería

por cierto  yo estoy usando el gps generador pro y hay estamos.

mañana viernes me encuentra por acá o nos vemos el lunes desde las 7 pm o antes o despues igual estoy trabajando en el gps por si necesita algo mas vemos en el camino del desarrollo mental jejejejejejej

:beer: