IO-USB должен быть запущен на вашей цели.
Добавить библиотеки "usbdi" в свой проект.
Затем используйте следующий код snipet:
#include <sys/usbdi.h>
static struct usbd_connection *conn_usb = NULL;
static void cbinsert(struct usbd_connection *connection, usbd_device_instance_t *ins);
static void cbremove(struct usbd_connection *connection, usbd_device_instance_t *ins);
int init(void)
{
usbd_funcs_t funcs = { _USBDI_NFUNCS, cbinsert, cbremove, NULL };
usbd_connect_parm_t parm = {NULL, USB_VERSION, USBD_VERSION, 0, 0, NULL, 0, NULL, &funcs,0};
if (usbd_connect(&parm, &conn_usb) != EOK) {
/* write your own error handler */
}
И затем, добавить свой индивидуальный обработчик:
static void cbinsert(struct usbd_connection *usb_connection,usbd_device_instance_t *usb_instance)
{
if (usb_instance->ident.dclass == 8 && usb_instance->ident.subclass == 6) {
/* USB mass storage */
} else if (usb_instance->ident.dclass == 3 && usb_instance->ident.subclass == 1) {
/* USB mouse */
} else {
/* unknown device */
}
Это является примером. Вам придется настроить его. Но все, что вам нужно, есть.
Надеюсь, что эта помощь! Emmanuel
Если вы знаете, как это сделать с помощью этого инструмента, а затем дать решение. Не используйте ответы, чтобы задавать вопросы. – Psytho
@ Alex.S Изменен ответ. Наверное, этого достаточно. Я не думаю, что здесь нужно кормить ложкой. Автор может изучить это и решить его сам. – Shaibal