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

  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+.

  7. #7
    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
    Si tu installe une camera USB tu installe bien un driver de meme pour une imprimante un scanner ....
    Si tu utlise une carte du commerce elle doit etre livree avec un driver et une notice d'utilisation de ce driver.

  8. #8
    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'ai le driver de la carte , il me faut coté PC

  9. #9
    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
    ta pas une librairie ou un .h livré avec

    parce que quand moi je pilote une carte PCI par exemple jai eu une librairie complete et un .h

  10. #10
    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
    salut,
    c'est moi qui a fait la carte et le programme dedans , mon programme de coté carte pour l'instant il fait la lecture et l'ecriture sur le port usb , il me reste maintenant la lecture et l'écriture coté PC .
    a bientot

  11. #11
    Membre éprouvé Avatar de monnoliv
    Homme Profil pro
    Opticien-ébéniste: lunettes de WC
    Inscrit en
    Août 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opticien-ébéniste: lunettes de WC

    Informations forums :
    Inscription : Août 2003
    Messages : 139
    Par défaut
    Quel est ton microcontrôleur?
    Le fabricant du µC doit te donner la façon de communiquer (un driver coté PC OU si c'est un HID, un fichier .inf OU un exemple qui montre comment communiquer).
    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