Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

31/10/2011 #1


Inicio y final de datos
Buenas tardes a todos. Recurro a ustedes para ver si podéis darme unas indicaciones que me permitan resolver algunas dudas.

Estoy haciendo mi PFC. Se trata de una estación meteorológica con interfaz mediante labview.

Todo parece funcionar correctamente salvo un pequeño gran detalle. Labview no comienza a leer en el dato1.
Me explico:
capturo 6 magnitudes Temperatura, radiación, presión, dirección del viento, velocidad del viento y humedad. (en este orden). La velocidad del viento se mide en 2 bytes. (son 7 bytes)

En teoría mi programa debe iniciar las lecturas en Temperatura pero cuando inicio el programa el primer dato que ve es Presión (se que es un problema de sincronismo). Lo que necesito es decirle a labview donde empieza la cadena pero no encuentro la manera. He tratado de usar el Termination Char pero como los valores de mis variables varían de 0000 0000 a 1111 1111 el valor ascii \n=0x0A=0000 1010 entra en conflicto con los valores enviados finalizando las lecturas antes de la cuenta.

Espero que este post esté bien situado (de no ser así ruego a algún moderador que lo ubique) y que podáis darme alguna ayuda al respecto.

GRACIAS
31/10/2011 #2
Moderador general

Avatar de Fogonazo

En los escaner manuales (Como los que se emplean para leer los precios en las tiendas) se envía un carácter especial, *, al comienzo y al final de la secuencia de datos.
Para evitar cualquier posible conflicto puedes enviar, por ejemplo, ese carácter o cualquier otro, repetido n veces de forma tal que no exista posibilidad de que se confunda con un dato.
El interprete solo debe detectar la repetición n del mismo carácter al comienzo y al final de la secuencia.
31/10/2011 #3


Gracias Fogonazo por tu rápida respuesta.

He pensado en ello, pero el problema lo tengo en que yo envio directamente el byte que capturo, digamos por ejemplo, del ADC (usando 8 bits). El * corresponde al decimal 42 que puede medirse con mucha probabilidad.

Yo pensaba en poder enviar un conjunto de carcateres ("INICIO" por ejemplo) y comprobar que esa es mi palabra de inicio porque *, !, \n, \r, corresponden a 8 bits y puede porducirse con facilidad.

No se si me explico.
31/10/2011 #4
Moderador general

Avatar de Fogonazo

Santherberg dijo: Ver Mensaje
.....He pensado en ello, pero el problema lo tengo en que yo envio directamente el byte que capturo, digamos por ejemplo, del ADC (usando 8 bits). El * corresponde al decimal 42 que puede medirse con mucha probabilidad......
Puede ser que en el tren de datos te aparezca el * (42) pero si lo repites, por ejemplo 4 veces seguidas las posibilidades se convierten en remotas.
También puedes buscar un carácter fuera del rango de medición, por ejemplo ■ (Dec 254)
31/10/2011 #5


254 está dentro del rango de medición, buscaba algo parecido a repetir 4 veces el *.

La siguiente pregunta es como identifico en labview los 4 primeros *.


Gracias Fogonazo
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.