Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Visualización serial

¡Resuelto!
Ir a solución

Buenas tardes. Tengo un sistema que me está enviando datos por serial constantemente. Realicé la conexión por serial con LabView, todo funciona correctamente. Mi problema es que estoy leyendo los datos dentro de un while loop, por lo que el PC lee muy rápido el buffer, más rápido de lo que estoy enviando, motivo por el cual los datos que llegan no son correctos. Quisiera poder leer solo cuando llege un paquete de datos de 16 bytes, ¿es posible hacer esto?. Adjunto el codigo de prueba que realicé para hacer estas pruebas. Muchas gracias por sus respuestas.

0 kudos
Mensaje 1 de 6
4.845 Vistas

Lo que quiero es muestrear una señal a 6 kHz, los datos los envío a una velocidad apropiada, pero no se como hacer para que LabVIEW solo lea el buffer del serial cuando se complete la llegada de 16 bytes y no que lo lea cada vez que entre al while loop, ya que al entrar tan rápido a este, lo único que alcanza a leer es el buffer vacio, llegan ceros como datos.

0 kudos
Mensaje 2 de 6
4.843 Vistas
Solución
Aceptado por el autor del tema AndresAGA77

Hola AndresAGA77

Para ello debes quitar el Property Node del puerto referente a "Bytes at Port" este Nodo lee todos los bytes disponibles en el puerto, puedes removerlo y poner una constante allí que indique la cantidad de bytes que quieres adquirir

0 kudos
Mensaje 3 de 6
4.839 Vistas

La velocidad de muestreo de datos estaría limitada entonces a la velocidad a la que lleguen estos 16 bytes al pc?

0 kudos
Mensaje 4 de 6
4.835 Vistas

y Muchas muchas muchas Gracias!

 

0 kudos
Mensaje 5 de 6
4.832 Vistas

Hola AndresAGA77,

 

Ha pensado en utilizar la estructura productor-consumidor?  En este link se presenta una pequeña ayuda de como funciona.

 

Espero le sirva!

0 kudos
Mensaje 6 de 6
4.830 Vistas