TODOPIC

Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: micro_pepe en 14 de Abril de 2012, 13:35:24

Título: Vaciar buffer puerto USB en Java.
Publicado por: micro_pepe en 14 de Abril de 2012, 13:35:24
Nunca sé donde encajar las preguntas de Java. Bueno, estoy enviando datos de un PIC al PC por USB, desde el PC pretendo poder parar ese envio de datos, pero resulta que en el momento de pararlos siempre quedan 2 o 3 datos en el bufer que ya han sido enviados ¿Es posible eliminarlos del buffer?

He mirado en la documentación del jpicusb.java, pero no veo nada que pueda servir.

Un abrazo.
Título: Re: Vaciar buffer puerto USB en Java.
Publicado por: micro_pepe en 17 de Abril de 2012, 12:23:16
Bueno, lo que he implementado es un bucle multitarea que espera a que se dejen de recibir datos. Aunque lo ideal seria vaciar el buffer, creo que sería mucho más rápido.

Saludos.
Título: Re: Vaciar buffer puerto USB en Java.
Publicado por: migsantiago en 17 de Abril de 2012, 12:33:49
Hola, ¿dónde encuentras la documentación de la librería?
Título: Re: Vaciar buffer puerto USB en Java.
Publicado por: micro_pepe en 17 de Abril de 2012, 20:17:04
Hola, ¿dónde encuentras la documentación de la librería?

Pues en el archivo que descargué con la libreria vienen una serie de ficheros de html. No muestra mucha información, tan solo los parámetros de entrada y salida etc.

Lo adjunto para que lo veas.

Saludos.
Título: Re: Vaciar buffer puerto USB en Java.
Publicado por: migsantiago en 18 de Abril de 2012, 13:52:05
Hola, pues las funciones que tienes disponibles son las mismas que la mpusbapi.dll tiene dentro:

_MPUSBClose
_MPUSBGetConfigurationDescriptor
_MPUSBGetDLLVersion
_MPUSBGetDeviceCount
_MPUSBGetDeviceDescriptor
_MPUSBGetStringDescriptor
_MPUSBOpen
_MPUSBRead
_MPUSBReadInt
_MPUSBSetConfiguration
_MPUSBWrite
___CPPdebugHook

Entonces cualquier workaround que le hagas a librería es correcto.
Título: Re: Vaciar buffer puerto USB en Java.
Publicado por: micro_pepe en 18 de Abril de 2012, 14:28:12
He probado a poner:

iface.Close(ABORT);

pero no noto que sea más rápido como pensé, seguiré investigando aunque creo que como está ahora no va tan mal.

Saludos.