none
Decodificación string puerto serie RRS feed

  • Pregunta

  • Buenas!

    Estoy haciendo un programa para transmisión/recepcion de datos por la UART y tengo problemas para decodificar los datos que recibo (utilizo 8 bits de datos). Los datos recibidos se almacenan en un string. Una vez almaceados en el string quiero procesarlos y para ello tengo que pasarlos a integer() o byte(), me es indiferente.

    No tengo problema en la conversión si el caracter al que representa es inferior o igual a 0x3F. Paraello utilizo la función Asc(). Pero no se como trabajar con valores mayores a 0x3F y aprovechar todo el ancho de los 8 bits hasta 0xFF.

    Muchas gracias, espero vuestra ayuda pq la cabeza me va a explotar, o sino va a perder el resto de pelo si no me dais una manita.
    miércoles, 19 de septiembre de 2007 1:15

Respuestas

  • Pues lo de la cabeza es muy grave... si te cuento, yo ya perdi casi todo el pelo y ahora depues de pasarme dias enteros durante años sentado en una silla delante del ordenador, los problemas se han ido donde el hombre termina y empieza la silla!

    Bromas a parte, creo que debes revisar 'encoding'

    SerialPort1.Encoding = System.Text.Encoding.Default

     

    Ya me contaras.. supongo que estas usando System.IO.Ports.SerialPort, no?

    Saludos,

    Pep Lluis,

     

    miércoles, 19 de septiembre de 2007 17:03
    Moderador

Todas las respuestas

  • Estas trabajando con 6 bits, ¿No estarán loos otros 2 bits reservados?

     

    miércoles, 19 de septiembre de 2007 9:01
  • Trabajo con 8bits de datos. Creo que es un problema de conversión, pero como normalmente trabajo con microcontroladores ando perdido con el vb.net y me cuesta adaptarme a esta mentalidad de programación.

    Para mandar utilizo Byte(), y recibo los resultados perfectamente en el micro, con los 8 bits de ancho de palabra. Pero estoy casi convencido de que lo que hago mal es pasar de string a int.

    _Gracias_
    miércoles, 19 de septiembre de 2007 9:21
  • Has probado a pasar de string a array char() y de array de char() a array de integer()?

     

    Otra cosa, yo estoy trabajando con envio de datos, muchas veces te lo manda codificado (base 64, o con "=AD" por ejemplo).

    miércoles, 19 de septiembre de 2007 14:25
  • Pues lo de la cabeza es muy grave... si te cuento, yo ya perdi casi todo el pelo y ahora depues de pasarme dias enteros durante años sentado en una silla delante del ordenador, los problemas se han ido donde el hombre termina y empieza la silla!

    Bromas a parte, creo que debes revisar 'encoding'

    SerialPort1.Encoding = System.Text.Encoding.Default

     

    Ya me contaras.. supongo que estas usando System.IO.Ports.SerialPort, no?

    Saludos,

    Pep Lluis,

     

    miércoles, 19 de septiembre de 2007 17:03
    Moderador
  • Perfecto, se me ha solucionado todo el problema.

    Gracias Pep i fanpiro, la verdad es q ya no sabia por donde solucionar el problema!
    miércoles, 19 de septiembre de 2007 18:26
  • Hola:

    Puedes descargar el manual en pdf sobre VB y  puerto serie.
    Saludo.

    http://electronica-pic.blogspot.com
    • Propuesto como respuesta Metaconta miércoles, 27 de mayo de 2009 9:00
    martes, 26 de mayo de 2009 8:33