Pic Micro, Arduino, Atmel, Microchip, Freescale, Texas Instrument, ecc. Strumenti di sviluppo, firmware e progetti.
Avatar utente
da Gio55
#2732
Salve.

Sto realizzando un host embeded con un Pic 32MX230F064B (prima di passare verso la sperimentazione di altre soulzioni). Con un po' di fatica sono riuscito a impostare le librerie e far girare un esempio per riuscire a gestire un client usb HID. er questo ho importato dalle librerie MLA i seguenti file:
-usb.h
-usb_ch9.h
-usb_common.h
-usb_hal.h
-usb_hal_local.h
-usb_hal_pic32.h
-usb_host.h
-usb_host_hid.h
-usb_host_hid_parser.h
-usb_host_local.h
-usb_pic32.h

Come indiato nell'esempio ho poi importato i file usb_config.h/.c in cui ho inserito un TPL per una "tastiera" e definito le due funzioni che richiamano: UsbHostInit e UsbHostTask (del file usb_host.h).

Provando a collegare qualcosa sulla usb, vedo (in debug) un avanzamento nelle fasi dalla " Main State Machine " (un lungo case of inserito nel file usb_host.h) che fissa in successione tutte le fasi di enumerazione.

Fino a questo punto il processo mi si blocca sul tentativo di leggere l'end point 0 per la configurazione del client usb. Da quel che vedo non riesco a completare la fase " SUBSUBSTATE_WAIT_FOR_GET_DEVICE_DESCRIPTOR_SIZE" appena inviato il comando read per leggere 'end point....

La trasmissione dell'host viene effettuata (con oscilloscopio riesco a vedere qualcosa su D+D-). La risposta del client da, quello che vedo con il debug ("status.bfTransferComplete"), ma non ottengo il successo della trasmissione ("status.bfTransferSuccessful").

p.s. Da come hanno implementato la libreria, per inviare il comando si usa la funzione "_USB_InitControlRead" che richiede l'inirizzo dell' end point 0, l'array con il comando read e l'array in cui memorizzare la risposta.
L'array per il comando e risposta, usato, è lo stesso. Nella fase che non riesco a portare a termine non vedo variare l'array.

Per completezza riporto anche lo schema di connessione che ho realizzato.
Schema.PNG


Come si nota VbusOn e Vbus non sono (per ora) collegati... ma questa sarà un'altra questione....

Ciao e grazie in anticipo!
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Visita il nostro canale telegram