IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Connection USB && c++ builder


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 27
    Par défaut Connection USB && c++ builder
    Bonjour ,
    je veut faire une application qui me permet d'envoyer et de recevoir des données USB ( HID ) , si quelqu'un a une solution ou un exemple merci de m'aider .
    Merci.

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut newin
    Il te faut donner plus d'explication par connection USB on peut lire/ecrire un support de stockage, convertir un port usb en parallele, un port usb en serie .....
    Chaque fois il y a une facon differente de piloter le port usb, certains periferique sont livres avec un driver

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 27
    Par défaut
    Merci pour la réponse
    en fait , je veut lire et écrire en utilisant l'USB HID .
    a+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 27
    Par défaut
    j'attend toujours la solution
    a+

  5. #5
    Membre éclairé Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut
    Citation Envoyé par newin Voir le message
    j'attend toujours la solution
    a+

    c'est pas avec ce genre de post, que les gen vont etre motiver pour t'aider

    Ta description de ce que tu ve faire est pas assez claire

    lire ecrire a laide de l'usb ... ok pe importe ce kon branche sur l'usb on lie et on ecrie , il faut plus de detail sur ce que tu veux faire exactement

    sinon jete un oeuil la dessus jai tapper USB HID sur google (l'a tu deja fait ?)

    http://www.rennes.supelec.fr/ren/fi/...b/usb-hid.html


    Comment communiquer avec mon périphérique USB ?
    La manière de communiquer dépend du type de tranfert (Bulk, Isochrone, Interrupt, Control).
    Le type de transfert plus simple à gérer est certainement le transfert Bulk.
    Il suffit de remplir la structure de données suivante :

    struct usbdevfs_bulktransfer {
    unsigned int ep;
    unsigned int len;
    unsigned int timeout; /* in milliseconds */
    void *data;
    };

    et d'appeler la fonction C suivante : ioctl(fd, USBDEVFS_BULK, pointeur sur la structure usbdevfs_bulktransfer);

    Exemple de manipulation de ces notions - lecture de données Bulk :
    int fd;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    fd = open("/proc/bus/usb/001/002", O_RDWR); 
     
    if(fd != -1) { 
     
       struct usb_bulktransfer bulk;
       int ret; 
     
       bulk.ep = USB_DIR_IN | 1;
       bulk.len = 1024;
       bulk.timeout = 1000;
       bulk.data = malloc(1024); 
     
       ret = ioctl(fd, USBDEVFS_BULK, &bulk); 
     
       if (ret < 0)
          printf("Error in bulk transfer");
       else {
          /* les données sont disponibles dans bulk.data */
       }
       close(fd); 
    }


    Exemple de manipulation de ces notions - écriture de données bulk :
    int fd;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    fd = open("/proc/bus/usb/001/002", O_RDWR); 
     
    if(fd != -1) { 
     
       struct usb_bulktransfer bulk;
       int ret; 
     
       bulk.ep = 1;
       bulk.len = 1024;
       bulk.timeout = 1000;
       bulk.data = malloc(1024); 
     
       ret = ioctl(fd, USBDEVFS_BULK, &bulk); 
     
       if (ret < 0)
          printf("Error in bulk transfer");
       else {
          /* les données sont disponibles dans bulk.data */
       }
       close(fd); 
    }



    Les transfers de type Interrupt IN sont beaucoup plus difficiles à gérer. La principale difficulté réside dans la fait qu'ils ont lieu de manière asynchrone. Une fois le transfert initialisé, le programme reçoit des signaux (au sens Unix du terme) qu'il doit intercepter.


  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 27
    Par défaut
    désolé pour mon dernier poste , j'ai fait ca parce que je suis vraiment besoin de solution .
    que es ce que je veut exactement est de faire une communication entre une carte a microcontroleur et un pc.
    a+.

Discussions similaires

  1. Probleme avec la connection USB avec PC sous linux
    Par hamma84 dans le forum Matériel
    Réponses: 0
    Dernier message: 12/12/2008, 15h25
  2. piloter une carte ni usb 6211 avec c++ builder 6
    Par themarki dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/05/2008, 11h00
  3. Redemarrage - Connection USB
    Par Kaory dans le forum Windows XP
    Réponses: 7
    Dernier message: 07/09/2007, 00h44
  4. Detection connection USB, envoi et reception de donnée
    Par diophantes dans le forum Windows Mobile
    Réponses: 2
    Dernier message: 18/06/2007, 11h50
  5. Comment on connecte un modem sous C++ Builder?
    Par Snipeyes dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/01/2005, 20h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo