Enviar datos en hex por el puerto serie.
A la pregunta:
è Necesitaría información de cómo enviar datos en hex por el puerto serie, porque por defecto lo hace en ASCII.
Realmente la información no se envía en ASCII por defecto, si no en función al ‘Encoding’ utilizado. En realidad estamos serializando un Byte…
Dim MiPuerto = My.Computer.Ports.OpenSerialPort("COM1")
MiPuerto.Write(&HFF) 'Enviar valor hex FF
Dim Valor As Byte = 255
MiPuerto.Write(Valor) 'Enviar byte 255
En ambos casos enviaremos ocho bits ‘1111 1111’ si utilizamos una longitud de 8, por lo que el DTE recibirá el valor binario 255.
En determinadas situaciones, el micro controlador espera que le mandemos los ‘nibbles’ encapsulados en ASCII, o sea para enviarle el valor de 8 bits, necesitaremos su representación hexadecimal en forma de dos Bytes ASCII, por ejemplo los caracteres ‘7’ y ‘F’ para el valor 127, por lo tanto estaremos mandando 16bits de datos para representar un valor hexadecimal de 8bits.
En tal caso simplemente especificaremos
Valor = 127
MiPuerto.Write(Hex(Valor))
En este supuesto el micro controlador recibirá ‘7F’, correspondiente al valor binario 127.
No dudéis en continuar esta conversación si la explicación no resulta lo suficientemente clara.
Pep Lluis,