Convertir la trama recibida de ASCii a HEX

Respondiendo a la pregunta de David : «Al leer del puerto serie leo su contenido pero me lo muestra como ASCii, existe alguna forma para visualizar su contenido en HEX o Decimal?»

    Function AsciiToHex(TramaRecibida As String, ConvertToHex As BooleanAs String
        '
        ' Conversion de un string a una cadena de Hexadecimales / decimales
        For Each c As Char In TramaRecibida
            If ConvertToHex Then
                AsciiToHex += "0x" + Hex(Asc(c)) + " "
            Else
                AsciiToHex += Asc(c).ToString + " "
            End If
        Next
        Return AsciiToHex
    End Function

Para invocar la funcion :

        Dim RespuestaEnHex As String = AsciiToHex("abcABCD_CualquierTextoRecibido"True)
        Dim RespuestaEnDEC As String = AsciiToHex("abcABCD_CualquierTextoRecibido"False)

Espero  te sea util.
Saludos,
PepLluis,

6 pensamientos en “Convertir la trama recibida de ASCii a HEX”

  1. hola PepLluis te comento una cosa que me ocurre
    cuando entra un byte se supone que salta un evento pues bien ahi pongo un contador que deberia incrementar con cada byte que entre no?
    pues cuando el pic me manda un byte incrementa pero como lo que me manda son paquetes de 5bytes seguidos solo incrementa en 1 ,y esto lo estava haciendo porque quiero que cuando me entre 1 byte incremente el contador y cada byte segun el numero que tenga el contador se guarde en una variable u otra,no se si habla alguna forma de hacerlo mejor,el tema es que yo leo el puerto con readexisting y con una funcion lo convierto a hexadecimal pero necesito desglosar la variable que me almacena 5bytes hexadecimales
    si puedes ayudarme?
    gracias
    un saludo

  2. hola un saludo.
    Tengo una duda aqui.
    una vez que leo mi puerto en que registro estan fuadando los datos del puerto, y si yo quiero mostrar los datos en un textbox como se llama a la funcion.
    seria?
    textbox1.text=(AsciiToHex(Datos de puerto)) pero cual es el registro que utiliza la funcion?
    Gracias por la ayuda!

Responder a david Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *