Funcion chr()

09/04/2010 - 23:04 por Diego | Informe spam
Hola grupo, les pido colaboración por lo siguiente
cuando utilizo la función chr para enviar un número al puerto serial de la
siguiente manera:
SerialPort1.Write(Chr(22)), este me envía el numero binario 22; pero si
intento enviar el número 150, por ejemplo SerialPort1.Write(Chr(150)) no lo
envía, parece que no envía números mayores a 127, hay alguna forma de enviar
un número cualquiera de 0 a 255

nota: Visual 6 lo permite con la función chr().

gracias.
DEL

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
10/04/2010 - 12:27 | Informe spam
"Diego" wrote in message
news:
SerialPort1.Write(Chr(22)), este me envía el numero binario 22; pero si
intento enviar el número 150, por ejemplo SerialPort1.Write(Chr(150)) no
lo
envía, parece que no envía números mayores a 127, hay alguna forma de
enviar
un número cualquiera de 0 a 255



Por defecto SerialPort utiliza AsciiEncoding para codificar los caracteres,
por lo que no acepta ninguno mayor que 127. Puedes cambiar la propiedad
Encoding, poniendo otro juego de caracteres. Por ejemplo:

SerialPort.Encoding=System.Text.Encoding.GetEncoding(1252)
SerialPort.Write(New Byte(){150},0,1)
Respuesta Responder a este mensaje
#2 Diego
10/04/2010 - 17:51 | Informe spam
Alberto, mil gracias, de esta forma funciona como necesito.
Te hago una última pregunta, que significa el número 1252 ?

Saludos
DEL


"Alberto Poblacion" wrote:

"Diego" wrote in message
news:
> SerialPort1.Write(Chr(22)), este me envía el numero binario 22; pero si
> intento enviar el número 150, por ejemplo SerialPort1.Write(Chr(150)) no
> lo
> envía, parece que no envía números mayores a 127, hay alguna forma de
> enviar
> un número cualquiera de 0 a 255

Por defecto SerialPort utiliza AsciiEncoding para codificar los caracteres,
por lo que no acepta ninguno mayor que 127. Puedes cambiar la propiedad
Encoding, poniendo otro juego de caracteres. Por ejemplo:

SerialPort.Encoding=System.Text.Encoding.GetEncoding(1252)
SerialPort.Write(New Byte(){150},0,1)

.

Respuesta Responder a este mensaje
#3 Alberto Poblacion
10/04/2010 - 23:01 | Informe spam
"Diego" wrote in message
news:
Alberto, mil gracias, de esta forma funciona como necesito.
Te hago una última pregunta, que significa el número 1252 ?



Representa el juego de caracteres "Windows-1252" que es el que utiliza
por defecto el Windows en español cuando grabas un fichero de texto con
caracteres de 8 bits. A efectos de enviar caracteres por el puerto serie, te
daría lo mismo elegir otro juego de caracteres distinto, pero si quisieras
grabar en disco un fichero compatible con otros programas de Windows sí que
te convendría usar este juego de caracteres.
Respuesta Responder a este mensaje
#4 Diego
11/04/2010 - 19:07 | Informe spam
Gracias Alberto me queda claro.

saludos.
DEL


"Alberto Poblacion" wrote:

"Diego" wrote in message
news:
> Alberto, mil gracias, de esta forma funciona como necesito.
> Te hago una última pregunta, que significa el número 1252 ?

Representa el juego de caracteres "Windows-1252" que es el que utiliza
por defecto el Windows en español cuando grabas un fichero de texto con
caracteres de 8 bits. A efectos de enviar caracteres por el puerto serie, te
daría lo mismo elegir otro juego de caracteres distinto, pero si quisieras
grabar en disco un fichero compatible con otros programas de Windows sí que
te convendría usar este juego de caracteres.

.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida