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

MFC Discussion :

Lecture du port USB


Sujet :

MFC

Vue hybride

ArkAng3 Lecture du port USB 10/08/2005, 13h14
Aurelien.Regat-Barrel Faut écrire un driver... 10/08/2005, 17h22
ArkAng3 est ce kon peut utilisé la... 10/08/2005, 17h37
Hokagge => createfile() pour ouvrir... 10/08/2005, 17h46
ArkAng3 merci Hokagge. J'ai deja fait... 10/08/2005, 17h55
Hokagge Pour le createfile(), je ne... 10/08/2005, 18h10
ArkAng3 merci pour cette aide. est ce... 10/08/2005, 18h15
ArkAng3 est ce ke tu pourré mettre... 10/08/2005, 20h13
Aurelien.Regat-Barrel J'avais pas bien compris. Si... 10/08/2005, 23h25
ArkAng3 merci de ton aide. g récupéré... 11/08/2005, 01h05
ArkAng3 Je n'arivve pas a trouvé le... 12/08/2005, 00h02
Aurelien.Regat-Barrel Je me suis embrouillé avec... 12/08/2005, 16h36
ArkAng3 Bon jvien de compilé le prog... 12/08/2005, 17h23
Aurelien.Regat-Barrel En utilisant le code du PDF... 16/08/2005, 10h10
Aurelien.Regat-Barrel Vu que ça fait partie du DDK,... 16/08/2005, 10h12
GillesCGD oulalalala, depuis le temps... 22/03/2007, 10h12
remsbdx Communiquer avec le port usb 28/03/2007, 09h49
evol29 sos 29/03/2007, 15h44
GillesCGD J'ai touvé de schose... 29/03/2007, 22h30
evol29 Merci moi aussi j'arive pas a... 02/04/2007, 09h23
ArkAng3 Slt, j'ai essayais comme tu... 24/08/2005, 10h38
Aurelien.Regat-Barrel Ca marche pas c.a.d ? Tu... 24/08/2005, 12h02
ArkAng3 Le nom du périph c'est : ... 24/08/2005, 16h35
ArkAng3 Ca yé g rectifié ce qui allé... 24/08/2005, 17h06
ArkAng3 Maintenan, j'arrive a lire... 24/08/2005, 17h58
Aurelien.Regat-Barrel buf[Read] = 0; ... 25/08/2005, 10h16
ArkAng3 en faite, j'ai trouvé une... 25/08/2005, 16h49
Aurelien.Regat-Barrel Pense à cliquer sur Résolu... 25/08/2005, 17h08
abignon Salut à tous, moi aussi... 03/09/2005, 00h07
Aurelien.Regat-Barrel Pourquoi veux-tu comprendre... 03/09/2005, 14h17
abignon Certaines valeurs changes,... 03/09/2005, 16h12
Aurelien.Regat-Barrel je voulais dire au prochain... 05/09/2005, 18h51
abignon oki, merci de ton aide ... 05/09/2005, 19h46
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par défaut Lecture du port USB
    Slt tlm, j'ai un adaptateur de manette Playstation2- USB. Et sur cette adaptateur,j'ai branché une télécommande play2. Je voudrais savoir
    si c'est possible de programmer cette télécommande. J'avais pensé a regardé quel données étaient envoyé sur le port USB lorsque l'on appuie sur une touche de la télécommande.Mais je ne saity pas comment faire pour voir ce qui arrive aux niveau d'un port USB. Si quelqu'un peut m'aider ça serait cool. merci ++

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Faut écrire un driver filtre... c'est très complexe.
    Regarde plutot sur le net si des mecs n'ont pas déjà fait ce que tu souhaites.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par défaut
    est ce kon peut utilisé la fonction createfile()???

  4. #4
    Membre confirmé Avatar de Hokagge
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 149
    Par défaut
    => createfile() pour ouvrir le port
    => ReadFile() pour lire ce qui y arrive
    => CloseHandle() pour refermer le port

    J'ai réalisé une petit appli dans le genre.

    Celle ci me permettait d'afficher ce qu'y arrivait sur le port de manière pratiquement instantanné, grace à un timer.

    C'est juste une petite piste, en espérant que ce t'aide un peu

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par défaut
    merci Hokagge. J'ai deja fait des test avec cette fonction. Mais le probléme c'est que je n'arrive pas à savoir kel port je doit allé scruter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PortHandle=CreateFile("\\.\USB1",GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
    Est ce ke ce bout de code est bon pour louverture d'un port??

    et pour voir ce ki arrive sur le port j'ai mi ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    char tab[500];
    	DWORD dwBytesRead;
    	OVERLAPPED m_OverlappedRead;
    	dwBytesRead = (DWORD) 500;
    	if(ouvert)
    	{
    		ReadFile(PortHandle,tab,dwBytesRead,&dwBytesRead,&m_OverlappedRead);
    		CString str;
    		str.Format("%d",tab);
    		SetDlgItemText(IDC_LABEL3,str);
    	}
    Si tu pouvait maidé ca serait cool

  6. #6
    Membre confirmé Avatar de Hokagge
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 149
    Par défaut
    Pour le createfile(), je ne pourrais pas te dire quel est l'ID de ton port...

    Par contre sur mon appli je l'ai écrit comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CreateFile(L"COM7:", bla bla bla)
    Pour le reste des paramètres, un chti coup d'oeil dans la msdn et c'est parti

    Pour ce qu'y est du readfile voila ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    char buf[4096],
    chaine[4096];
     
    DWORD Read;
     
    ReadFile( handlePort, buf, 2048, &Read, NULL )
     
    buf[Read] = 0;
    m_Texte = buf;
    PurgeComm(handlePort, PURGE_RXCLEAR);
    Hey oui je suis un des rares qui bosse encore avec des chaine plutôt que des string
    (j'espère que personne me tapera )

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par défaut
    merci pour cette aide. est ce ke tu c komen je pourré faire pour identifié mes ports usb?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par défaut
    est ce ke tu pourré mettre ton code soure en ligne Hokagge stp?,

  9. #9
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    J'avais pas bien compris. Si tu reçois des trames c'est plus facile, mais c'est pas gagné pour autant.
    USB, c'est un bus. Ce que tu veux adresser, c'est un périphérique sur ce bus. Donc, en soit, l'USB ne te concerne pas. C'est comme pour attaquer directement le disque dur, tu ouvres le disque dur, pas l'IDE0.
    Faut donc trouver le nom de ton périphérique. Pour cela faut énumérer les périphériques branchés, car le nom peut varier entre chaque branchement. Lors de cette énumération, tu files l'identifiant de ton périphérique (un GUID). Faut déjà déterminer la valeur de ce GUID, puis s'en servir pour filtrer l'énumération des périph branchés. Tu récupères alors la liste des périph de ce type qui sont branchés, et pour chacun d'entre eux le nom à filer à CreateFile.
    Après y'a plus qu'à espérer que ReadFile donne quelque chose, car ça dépend du bon vouloir du driver...
    Un bon lien qui illustre tout ça:
    http://www.delcom-eng.com/downloads/USBPRGMNL.pdf
    et un autre pour t'aider dans l'énumération et la recherche du GUID:
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q259695

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par défaut
    merci de ton aide. g récupéré un ptit prog sur le net, ki permet de connaitre les propriété des périphérik é g trouvé kel port usb je voulé lire. mais je trouve po le "devicename". j'ai fait un screen du resultat du prog.

    http://membres.lycos.fr/fireboo666//...utres/enum.JPG

    Si tu c ce ki fo mettre ds la fonction createfile(), c le premier paramétre ki me mank. merci de ton aide

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par défaut
    Je n'arivve pas a trouvé le devicename du port USB, si kelkun puové maidé ca seré cool,merci

  12. #12
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Je me suis embrouillé avec les GUID, celui obtenu de cette manière c'est pas le bon (il identifie la classe de périphérique, or il te faut le GUID propre à ce périphérique).
    Je ne sais pas comment retrouver programmaticalement le GUID de ton périph. Tu peux le faire à la main en utilisant winobj par exemple:
    http://www.sysinternals.com/Utilities/WinObj.html
    Dans "GLOBAL??", cherche le nom de ton périph USB, dont le début doit être assez proche de la propriété SPDRP_HARDWAREID renvoyé par SetupDiGetDeviceRegistryProperty, ce qui d'après ton screenshot devrait donner un truc du genre "HID#Vid_14fe&Pid_232a[...]#{GUID}" et se terminer par le GUID qui nous intéresse outouré par deux accolades (la partie "{GUID}" juste avant).
    Note ce GUID, et copie le dans ton code via la macro DEFINE_GUID.
    Chez moi ça donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #define INITGUID // <- important !
    #include <windows.h>
     
    //{4D36E978-E325-11CE-BFC1-08002BE10318}
    DEFINE_GUID(PORT_GUID,
    0x4D36E978, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1,
    0x03, 0x18);
    puis tu t'en sers comme expliqué dans le PDF (SetupDiGetClassDevs->SetupDiEnumInterfaceDevice->SetupDiGetInterfaceDeviceDetail qui te renvoie PSP_INTERFACE_DEVICE_DETAIL_DATA.DevicePath qui est le nom à utiliser pour CreateFile).

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par défaut
    Bon jvien de compilé le prog kom tu ma di é en suivant le PDF. Mai lorsque je lance le prog, il y a une erreur. Jcompren pas pourquoi. pourrais tu menvoyé ton code stp? merci ++

  14. #14
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    En utilisant le code du PDF avec comme GUID celui renvoyé par HidD_GetHidGuid ça devrait marcher.

  15. #15
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Vu que ça fait partie du DDK, tu peux définir le GUID à utiliser ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    const GUID HidClassGuid = {0x4D1E55B2, 0xF16F, 0x11CF, {0x88,0xCB,0x00,0x11,0x11,0x00,0x00,0x30}};

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Par défaut
    oulalalala, depuis le temps que je cherche des info sur internet pour communiquer avec un port USB ...

    j'aurais du commencer par developpez.net

    petit topic, mais vrai mine d'or,
    l'inconvénient (pour mon cas) est que vous etes sous VC++

    si d'autres ont des infos pour faire la meme chose en .NET ....

    en attendant, je vais commencer par faire des tests sous VC++

    merci !

  17. #17
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Par défaut Communiquer avec le port usb
    Bonjour j ai commencé un pojet qui permet de communiqer avec un port usb et j aimere savoir si quelqu un pourrait me renseigner a ce sujet j aimere savoir si d'une part ce que j ai fait est coherent merci de me repondre

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 42
    Par défaut sos
    Bonjour je vien commencer un stage et je doit récupérer des donner de position d'un périphérique usb pour faire bouger un curseur comment je fait pour créer un driver pour cette nouvelle sourie? et c quoi un driver filtre?

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Par défaut
    J'ai touvé de schose interresante ici :

    http://www.thescripts.com/forum/thread373085.html
    http://209.85.129.104/search?q=cache...8&client=opera

    Mais j'ai pas réussi à faire fonctionner tout ce bordel

    ++

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 42
    Par défaut
    Merci moi aussi j'arive pas a faire fonctionner j'ai des probleme avec cstring et avec les bibliothéque si quelqu'un a un code qui marche merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Lecture de port USB
    Par riete dans le forum Langage
    Réponses: 4
    Dernier message: 09/06/2009, 11h05
  2. Lecture sur Port USB en C/C++
    Par gobelin88 dans le forum C++
    Réponses: 1
    Dernier message: 10/09/2007, 22h08
  3. [PHP-JS] Lecture du Port USB
    Par toons18 dans le forum Langage
    Réponses: 13
    Dernier message: 05/10/2006, 00h15
  4. lecture d'un port usb
    Par bob21 dans le forum C++
    Réponses: 1
    Dernier message: 13/06/2006, 13h18
  5. Réponses: 2
    Dernier message: 27/02/2003, 01h33

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