none
Recibir tramas de bytes de tamaño variable Puerto Serie RRS feed

  • Pregunta

  • Muy buenas a tod@s y gracias de antemano, os cuento mi problema:

    Estoy tratando de recibir tramas de datos por el puerto serie que las envía una placa de evaluación. Las tramas son bytes de datos en el que el campo DLC indica la longitud de dicha trama: COMANDO + DLC + DATA1 + ... + DATAdlc. El problema que tengo es que cuando me dispongo a leer los datos recibidos en el buffer no siempre aparece la trama completa, algunas veces aparecen partes de esa trama y de vez en cuando se intercalan 0s en el buffer de recepción: Os pongo un ejemplo de lo que debería recibir: 0xA0 0x05 0x34 0x06 0x07 0x08 0x09. El buffer de recepción me lo interpreta de vez en cuando así cuando llama al evento SerialDataReceivedEventHandler. Primera lectura: 0xA0 ; Segunda lectura: 0x05 0x34 0x06 0x07 0x08 0x09. Para leer el buffer utilizo la siguiente secuencia: miPuertoSerie.Read(rxBuffer, 0, miPuertoSerie.BytesToRead); 

    Alguien tiene alguna idea de lo que ocurre? 

    Muchas gracias de antemano!

    lunes, 14 de enero de 2013 19:55