06-13-2011 03:07 PM - editado 06-13-2011 03:10 PM
que tal gente. les escribo porque estoy teniendo un problema de comunicacion y estoy perdidísimo.
resulta que preciso establecer comunicación por USB BULK, y como VISA me resulta poco transparente, me dispuse a programarlo por la librería de microchip (mpusbapi.dll). tengo todo hecho, correctamente -según tengo entendido, ustedes me dirán si me equivoco- pero no logro recibir data.
estoy mandando un paquete de 8bits desde una PIC18F4550 según el siguiente comando:
usb_put_packet (1, &a, 8, USB_DTS_TOGGLE);
sindo (a) un puntero cuyo valor es '5'.
el endpoint es el 1 configurado segun el header:
#define USB_HID_DEVICE FALSE // deshabilitamos el uso de las directivas HID
#define USB_EP1_TX_ENABLE USB_ENABLE_BULK // turn on EP1(EndPoint1) FOR IN bulk/interrupt transfers
#define USB_EP1_RX_ENABLE USB_ENABLE_BULK // turn on EP1(EndPoint1) FOR OUT bulk/interrupt transfers
#define USB_EP1_TX_SIZE 32 // size to allocate FOR the tx endpoint 1 buffer
#define USB_EP1_RX_SIZE 32 // size to allocate FOR the rx endpoint 1 buffer
les dejo el VI.
la cuestion es que el lazo de envío me devuelve un 0, y no recoje nada.
otra cosa extraña que noto es que cuando identifica los pipes tanto el pipeIn como el pipeOut tienen el mismo numero -ni hablar que el formato del numero me resulta extraño-.
si me pueden ayudar se los agradecería enormemente.
saludos!!!
el 08-12-2011 01:13 PM
¡Hola opium!
¿Por qué no intentarlo con el VISA? Es más fácil y usted puede conseguir un buen ejemplo en el LabVIEW. Vá a "Help>> Find Examples". Aparecerá la ventana "NI Example Finder", entonces, haga doble clic sobre la entrada y salida Hardware>> VISA>> USB RAW -Bulk.vi. Echa un vistazo a este ejemplo, y lea los Tips y instrucciones. Esto sin duda le ayudará.
Saludos.