Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1846 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  libre/écrire un port USB

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

libre/écrire un port USB

n°1504490
stabia
Posté le 18-01-2007 à 09:10:14  profilanswer
 

Bonjour,
 
Je cherche à lire et écrire sur un port USB, je pensais que cela était trivial, il semble que non.
 
Quelqu'un à-til une idée, MSDN est muet, je n'ai rien vu de probant chez nos amis de "codeProject", pourant il doit bien y avoir un moyen simple genre  
  hCom = CreateFile( "USB001",                             // similaire à "COM1" ou "LPT1"  
                     GENERIC_READ | GENERIC_WRITE,
                     0,                                                // "w" accès exculsif
                     NULL,                                           // pas d'attributs de sécurité
                     OPEN_EXISTING,                            // on suppose que le port existe !
                     0,                                                // pas de "recouvrement"
                     NULL);                                          // cf. documentation
           
 
Merci d'avance.

mood
Publicité
Posté le 18-01-2007 à 09:10:14  profilanswer
 

n°1504512
karlkox
Posté le 18-01-2007 à 10:23:43  profilanswer
 
n°1504765
stabia
Posté le 18-01-2007 à 20:07:13  profilanswer
 

merci Karl, ton lien est une mine, il y en a presque trop, mais apparement ce que je veux faire n'est pas possible simplement.
Je vais donc me documenter sur les ports virtuels, je sens que ce n'est pas gagné.

n°1504780
karlkox
Posté le 18-01-2007 à 20:59:58  profilanswer
 

Ce lien répond à ta question, il faut en fait juste connaitre le GUID du device sur lequel tu souhaites communiquer.

n°1504845
stabia
Posté le 19-01-2007 à 00:09:23  profilanswer
 

J'ai du lire trop vite, mon multi-tache fonctionne mal avec l'age ! et puis je me suis battu toute la journée avec ce P. de M. de HTML ! je retournerai lire mieux...

n°1505136
karlkox
Posté le 19-01-2007 à 15:40:14  profilanswer
 

Tu as bien cliqué sur le mot "lien" qui pointe vers la solution  :??:
Tu dois juste noter ceci :

 
Code :
  1. GUID const GUID_CLASS_COMPORT =
  2. { 0x86e0d1e0L, 0x8089, 0x11d0,
 

C'est le GUID de la classe du périphérique USB, SetupDiEnumDeviceInterfaces énumère tous les périphériques disponibles dans cette classe, à chaque itération de l'énumération, un appel à SetupDiGetDeviceInterfaceDetail te permet d'en savoir plus sur le device courant, un appel de SetupDiGetDeviceRegistryProperty permet de connaitre les informations inscrites dans la base de registre (ça sert à windows), la, tu as les informations nécéssaire pour ouvrir une le device via SetupDiOpenDeviceInterface.


Message édité par karlkox le 19-01-2007 à 15:41:03
n°1505142
stabia
Posté le 19-01-2007 à 15:47:59  profilanswer
 

Ton aide est trés préciseuse ( : gain de temps), j'ai vu la marche à suivre  ce matin dans l'une des applications "HID" du site pré-cité mais il me manquait "hidsdi.h" pour la compiler et je n'ai pas eu le temps de partir chez MSDM2 pour le récupérer.
Je programme deux projets à la fois, plus un bug qui viens de surgir sur un truc qui tourne depuis deux ans !
Bref, je sature, en tout cas c'est vaiment sympta de me répndre, bien sur à charge de revanche.

n°1505172
karlkox
Posté le 19-01-2007 à 16:27:06  profilanswer
 

Je comprend ta situation, je suis un peu dans le même cas donc bon courage  :jap:

n°1505308
stabia
Posté le 20-01-2007 à 12:35:08  profilanswer
 

J'ai testé ce matin, mais je ne trouve que le port COM1 !
 
est-ce que ceci n'est pas limitatif aux COM ?
 
DEFINE_GUID (GUID_CLASS_COMPORT, 0x86e0d1e0L, 0x8089, 0x11d0, 0x9c, 0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x73);
 
hDevInfo = SetupDiGetClassDevs(guidDev, NUL, idFen,
   DIGCF_ALLCLASSES | DIGCF_DEVICEINTERFACE);
ou
//   DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);  
donnent les mêmes résultats ce qui me semble étrange !
 
Le reste fonctionne apparement bien (avec COM1 en tout cas)
 
Karl, tu fais quoi au juste en ce moment, un gros projet ?

n°1505314
karlkox
Posté le 20-01-2007 à 12:59:19  profilanswer
 

Salut,
J'ai décidé de chercher par mes propres moyens, j'ai donc fait une recherche dans les includes du ddk pour tout ce qui concerne l'usb, apres beaucoup de lecture, je suis tombé sur cette macro IOCTL_USB_USER_REQUEST que j'ai passé à google qui m'a amené à ici : tu as absolument tout ce que tu souhaites connaitre sur la communication via USB que ce soit au niveau client ou noyau (bas niveau).
J'ai vite fait lu quelques fonctions et la, c'est sûr, tout y est :)
Il te faudra par contre le DDK. (Mingw dispose d'une implémentation mais pas complète)

 

Pour ma part, j'ai différents projets plus ou moins gros en cours et que je doit finir :

 

- une lib de lecture de fichiers mod/xm/s3m (wip 65 %),
- un unlocker de fichier (quasi fini),
- je prépare une VAE (validation des acquis de l'experience, je suis autodidacte), je vais donc devoir proposer des projets (je pense à un lecteur audio du style wxMusik ou MusikCube),
- le "port" de FMOD Ex pour PureBasic (un langage Basic TRES évolué/rapide/portable) à savoir l'API et tous les exemples,
- des routines de lecture des fichiers mp3 (tag/headers) mais quelque chose de TRES robuste (pas un simple check des 4 ou 16 premiers ko),
- un logiciel de retouche audio compatible VST,
- terminer mon frontend de l'encodeur Nero AAC (wip 80 %) avec en plus support d'autres formats autre que le WAV via des plugins maisons,
- commencer et terminer un logiciel de calcul pour la course à pied (FCMAC, VO2MAX, VMA ...),
- commencer et terminer un logiciel qui tripotera tout signal audio via FFT pour en faire un peu n'importe quoi (affichage du spectre via différentes fenêtres par exemple),
- porter tous mes plugins pour foobar2000 0.8 vers la v 0.9.

 

Comme on dit, y a du boulot  :p

  


Message édité par karlkox le 20-01-2007 à 13:01:10
mood
Publicité
Posté le 20-01-2007 à 12:59:19  profilanswer
 

n°1505315
stabia
Posté le 20-01-2007 à 13:15:25  profilanswer
 

Merci encore ...
Moi aussi j'ai cherché, mais sur une autre piste, et en testant les differents GUID
 deHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses
 
je progresse pas mal, mais j'ai aussi des obligations familialles et donc je vais devoir arreter pour ce matin !
Je vois que le travail ne te manque pas, et que c'est assez clair dans ton esprit, mais ce sont des projets non-commerciaux (à court terme).
Tu me parles de VAE va voir ceci (MAIS ATTENTION C'EST EN TEST A NE PAS DIVULGER !!! ET PAS TROP DE CONNEXIONS sinon je ne pourrais plus analyser mon travail, MERCI)  [lien en message privé]
 
Pour tes présentations je peux peut être t'aider, parce que j'ai la pratique d'être de l'autre coté ...
 
A bientôt
Gérard


Message édité par stabia le 20-01-2007 à 18:23:06
n°1516733
seignseife​r
Posté le 20-02-2007 à 06:29:31  profilanswer
 

excusez moi, mais je souhaite egalement ercevoir des info d'un appareil branche en USB. Je suis un peu debutant, excusez moi, mais c'est quoi une DDK ?
excusez moi

n°1517614
ptitcon51
Posté le 21-02-2007 à 14:11:26  profilanswer
 

Pour apercevoir des infos d'un port usb tu as ce que l'on appelle des sniffers, exemple USBmonitor qui est gratuit. Tu le lance sur le port a écouter et il te décrit tout ce qui se passe.
 
Pour ma part j'ai récupéré l'adresse exact d'une caméra Pan&Tilt (orientable avec des moteurs) j'ai récupéré les trames qui lui ordonnent de pivoter, mais je ne comprend toujours pas comment lui envoyer moi même ces trames depuis devC++... Help me please.  
 
Question pour Stabia: Quelle librairie utilise tu pour les fonctions "setupDiEnumerateDevice()" etc...?


Message édité par ptitcon51 le 22-02-2007 à 13:12:09
n°1622831
Racski
Rachid21
Posté le 12-10-2007 à 11:48:04  profilanswer
 

Bonjour,
Je suis un etudiant à l'université littoral, j'ai comme projet: Develppement d'un driver d'une tablette graphique Wacom Volito2 à port USB par le langage C++, pour le moment je suis au début du projet, veuilez m'envoyer svp des docs et des liens que je serai besoin d'eux.
Envoyez-moi svp comment peut on récuperer des données à partir d'un port USB provenants du tablette graphique.
A+.
Au revoir et bonne journée. :)  
 
Courriel: boukhane21@yahoo.fr

n°1622986
bjone
Insert booze to continue
Posté le 12-10-2007 à 15:28:50  profilanswer
 

si tu aimes les godmichets, tu risques de recevoir pas mal de promos :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  libre/écrire un port USB

 

Sujets relatifs
comptage à partir du port parallele[PHP] Ecrire dans un fichier: gestion du retour à la ligne
Que faut-il ecrire pour ecrire sur des ports tels que usb, rs232 ?Comment ecrire un mail en HTML
Lecture de données sur port USB en C/C++comment ecrire dans une table à partir d'un formulaire?
Valeur d'une broche d'un port sérieScript: ecrire les noms des sous repertoires dans un fichier
Ecrire un double dans un fichier 
Plus de sujets relatifs à : libre/écrire un port USB


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR