el 02-26-2015 01:37 PM
Soy nuevo en el foro espero puedan ayudarme.
tengo un sensor de Micro epilson el cual mide temperatura , tiene un modo de comunicacion Burstmode en el cual se encuentra configurado actualmente.
http://www.micro-epsilon.com/download/manuals/man--thermoMETER-CSmicro--en.pdf
Donde de acuerdo a la hoja de datos proporciona por ellos
me envia 2 Bytescomo ientificador siendo estos AAAA (estos en hexadecimal) + 2 bytes de mi temperatura ( en hexadecimal.)
ejemplo:
SIn embargo al recibir obtengo lo siguiente.
Al convertirlo a hexadeciaml haciendo clic derecho sobre el indicdor "BUFFER ASCII" --> HEX DISPLAY
Me lo representa dela siguiente forma
AAAA 04CE AAAA 04CE
Que son los valores que realmente debería de leer en un inicio de ejecución del programa.
El problema esta en sacar todas las "AAAA" seguido de convertir, los 2 bytes restantes en un numero. Para poder realizar la operación de conversión de temperatura. Quedando estancado al no poder realizar la conversión de un caracter asciii a numeric lo cual debería ser relativamente fácil.
Al utilizar las funciones de match paterm no me reconoce el valor "AAAA" , aun sacando todas las "AAAA" con la función String Subset, debería de poder convertidas con un Hexadecimal string to number sin embargo cualquier valor leído es "o", aun pasando directamente los valores leído en el Puerto Serial
Anexo mi programa Espero puedan ayudarme
¡Resuelto! Ir a solución.
02-27-2015 02:45 AM - editado 02-27-2015 02:46 AM
En tu código estás asumiendo que la cadena recibida contiene la representación en hexa de los valores, como si el equipo transmitiera el mensaje "AAAA 04CE": esto no corresponde a la documentación (por ejemplo, es claro que el ecabezamiento no es la cadena "AAAA" -4 caracteres- sino que son dos caracteres solamente).
Lo que recibes es una cadena de bytes que debes interpretar directamente desde el formato binario (binary string). Puedes hacer algo así:
el 02-27-2015 02:07 PM
Muchas gracias me ha sido de mucha ayuda, he implementado tu codigo . y el resultado es lo siguiente.
De nuevo gracias por la ayuda proporcionada.