• # pticours

    Posté par . En réponse au message Création d'un mini driver avec libusb. Évalué à 2.

    Bon, sur l'usb il existe plusieurs facon de communiquer, ces packet sont de type
    -interrupt (non-géré par libusb)
    -bulk
    -isochrone
    -control

    Les packet control sont normaliser pour certain services (pour l'enumeration et deux ou trois operations diverse) c'est bien rare de les utiliser en foncionnelle.

    Les packet bulk sont des packet destiné a un endpoint (in ou out), le out est une emission du pc vers le device, le in une lecture du device vers le pc.
    donc
    int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout);
    *dev :le handle du device que tu recupere à l'ouverture
    ep : le numeral du endpoint sur lequel ce fait l'operation
    *bytes : pointeur sur les données a recevoir ou le tableau de reception
    syze : la taille a recevoir ou a emettre
    timeout : un temps en milli second sans doute d'attente de la fin d'operation.

    Les packet interrupt sont cycliquement emis du device vers le PC (ceci est une approximation du mechanisme !)

    Les packet isochrone sont destiné a la transmission rapide de donné sans garanti de reception (typiquement je pense que les images de la CAM utiliseront de l'isochrone)

    je te conseille la lecture de:
    http://www.usb.org/developers/docs/usb_20_031507.zip
    qui est tres complet sur l'usb.