Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

06/05/2011 #1


Separar cadena en varias en Java.
Estoy leyendo en un PC datos por el puerto serie, un ejemplo de tramas recibidas, seria el siguiente:


"123\n345\n678\n75"


"3\n222\n112"


El problema que estoy teniendo, es con esos datos partidos, en el ejemplo un dato enviado seria el 753, y con el codigo que adjunto tendria dos datos, el 75 y el 3.

El problema esta en esos datos que quedan partidos, que quiero que estén en uno solo. ¿Como lo podria hacer?

En el ejemplo tengo copiado el codigo dos veces, logicamente eso es un bucle, en el que se actualiza la variable 'datos', con tamaños distintos segun llegan datos por el puerto.

Gracias por todo.
06/05/2011 #2

Avatar de Scooter

Edito: Leyendo tu código y tu post con calma, me parece que es un problema del buffer.
Me parece que debes de enviar un terminador de trama y no analizar la cadena hasta que llegue.
07/05/2011 #3


Scooter dijo: Ver Mensaje
Edito: Leyendo tu código y tu post con calma, me parece que es un problema del buffer.
Me parece que debes de enviar un terminador de trama y no analizar la cadena hasta que llegue.

Al PC le están llegando continuamente datos, se almacenan en el buffer, y cuando el PC le dedica tiempo a leerlos, los lee. Pero eso es aleatorio, unas tramas leidas pueden ser mas largas que otras.

El microcontrolador que envia los datos, los separa con un salto de linea, y los envia en decimal. Por ejemplo, si quiero enviar el numero 123 en decimal, me envia: el caracter ASCII del 1, el del 2, el del 3, y el salto de linea.

El problema es que el PC puede empezar a leer por ejemplo cuando el 3 y el salto no han llegado, entonces me guardará por un lado una cadena con el 12, y otra con el 3.

Saludos.
09/05/2011 #4


La idea es representar los datos segun van llegando, por eso no quiero poner un terminador de trama.

Una trama completa puede tardar de 1 a 10 segundos, y me gustaría utilizar los datos segun llegan.

Saludos.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.