Cadena HEX a cadena ASCII

Hola,

He intentado resolver el siguiente problema por mi cuenta buscando temas similares en este foro, pero no he tenido éxito.
Del puerto serie obtendré una cadena que representa un valor HEX, así:

image
(supongo que en el monitor serie no habrá espacios entre caracteres, "54472c30...")

Si pongo esta cadena en un conversor a ASCII lo que obtengo es:
image

Que debería hacer para obtener una cadena con EXACTAMENTE lo que está marcado en esta última imagen??

Gracias!!

Primero usa programas Terminales que te permitan ingresar caractetes en HEXADECIMAL, no todos los permiten.
Ejemplo el monitor serie del IDE no lo permite.
Realterm es un buen ejemplo de un terminal que te permite elegir como enviar la información.

La captura te muestra algo similar a lo que buscas.

No entiendo porque me hace falta otro programa, en el puerto serie yo obtendré una cadena del tipo "5652474B". Puedo ver perfectamente esta cadena en el monitor serie de IDE. Lo que quiero es ser capaz de pasar esa misma cadena a su significado en ASCII, en este caso "VRGK".

¿Podrías explicarte bien?
¿Esa cadena en hexadecimal sale del arduino o le llega?
Se claro sino es dificil ayudarte.

Saludos

1 Like

Un sensor envia sus lecturas con cadenas hexadecimales. Es decir, al conectar ese sensor al arduino, si yo hago:

lectura = Serial.read();
Serial.Print(lectura);

Lo que obtendré en el monitor del puerto serie será algo como "5652474B". Lo que yo quiero es cambiar/transformar/guardar (llamalo como quieras) esa lectura que he recibido en su equivalente en ASCII, que en este caso seria "VRGK".
He intentado explicarme de la mejor manera posible!
Muchas gracias!!

Pues ahora sí se entiende lo que quieres, en lugar de molestarte entiende que los que estamos detrás de la pantalla no estamos en tu cabeza.

Convert HEX string to his ASCII value?

Saludos

1 Like

Gracias por la respuesta!! Para nada me habia molestado!!
Habia visto antes el ejemplo que adjuntas, pero en ese ejemplo creo entender que la cadena a transformar en ese ejemplo es introducida en el sketch de IDE. Tengo la duda de si, al leer la cadena desde el puerto serie (tal y como he descrito en mi anterior mensaje), puedo trabajar sobre ella de la misma manera que en el ejemplo que me muestras...
Muchas gracias!

Sube tu código (lee en Normas de Foro, punto 7, la forma correcta de hacerlo) y vemos como integrar la conversión en lo que ya tienes.

Igual te adelanto, sí, es cierto que el ejemplo es con una variable con valor asignado en el código pero con solo cambiar esa variable por la que usas para guardar lo que envía el sensor queda resuelto el problema.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.