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

Windows Discussion :

communication port usb


Sujet :

Windows

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 15
    Points : 15
    Points
    15
    Par défaut communication port usb
    Salut à tous,
    je cherche comment je peux lire et écrire des données à travers le port usb de mon pc. :

  2. #2
    Membre habitué Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Points : 170
    Points
    170
    Par défaut
    Sous noyau NT, tu es bon pour un Driver.
    Va voir :
    ---> ici
    Tu y trouveras un dossier pdf. Un projet d'un étudiant de L' INSA de Lyon. A la fin du dossier, tu trouveras toute l'étude concernant l'interfacage USB ... et le developpement du Driver concernant cette communication USB. C'est intéressant ... mais bon, faut déjà quelques bases concernant le développement des drivers, sinon, tu risques de patauger. Dans ce cas, faudra reprendre le sujet depuis le début.

  3. #3
    Expert éminent sénior

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

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 750
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    On a un peu abordé ce sujet ici récemment, et sinon y'a un topic avec des infos dans le forum Visual C++ (recherche).

  4. #4
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 83
    Points : 71
    Points
    71
    Par défaut
    voila avec ca tu peut deja etablir une connexion, cad avoir un handle du port mais apres pour lire et ecrire jai quelques soucis,
    Sinon jaurais voulu savoir jarrive aavoir le handle du port lorsque ma cle et connecté au port usb comment pourrais je faire pour creer un fichier texte a linterieur...?

    a oui et les GUID ne sont pas forcement les memes que toi...

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    #include <stdio.h>
    #include <stdlib.h>
    #include <objbase.h>    //mais ares jai quelque souci je narrive pas a aller plus loin // you may have to manually include this library.
    #include <initguid.h>   //USBIO_GUID
    //#include <conio.h>    // ? unnecessary for the moment
    
    
    //displayPeriph libs
    #include <windows.h>
    //#include <devguid.h>
    #include <regstr.h>
    #pragma comment &#40;lib,"setupapi.lib"&#41;
    #define INITGUID
    
    int main&#40;&#41;
    &#123;
     //GUID hidGUID = &#123;0xa5dcbf10, 0x6530, 0x11d2, &#123;0x90, 0x1f, 0x00, 0xc0, 0x4f, 0xb9, 0x51, 0xed&#125;&#125;; 
     //GUID hidGUID = &#123;0x53f56307, 0xb6bf, 0x11d0, &#123;0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b&#125;&#125;;
    /*ROOT_HSB*/GUID hidGUID = &#123;0xf18a0e88, 0xc30c, 0x11d0, &#123;0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8&#125;&#125;; 
    //GUID hidGUID = &#123;0x53f56307, 0xb6bf, 0x11d0, &#123;0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b&#125;&#125;;
    ///*DOUCHETTE*/GUID hidGUID = &#123;0x745a17a0L, 0x74d3, 0x11d0, &#123;0xb6, 0xfe, 0x00, 0xa0, 0xc9, 0x0f, 0x57, 0xda&#125;&#125;;
    ///*DOUCHETTE*/GUID hidGUID = &#123;0xA5DCBF10L, 0x6530, 0x11D2, &#123;0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED&#125;&#125;;
    	
    
    	HDEVINFO hDevInfo;
        SP_INTERFACE_DEVICE_DATA InterfaceDeviceInfoData;
    
        hDevInfo = SetupDiGetClassDevs&#40;&hidGUID, 0, 0, DIGCF_PRESENT | DIGCF_INTERFACEDEVICE&#41;;
    
        if &#40;hDevInfo == INVALID_HANDLE_VALUE&#41;
        &#123;
    		printf&#40;"Erreur SetUpDiGetClassDevs\n"&#41;;
            return 0;
        &#125;
    
    	SP_DEVINFO_DATA DeviceInfoData;
    	DeviceInfoData.cbSize = sizeof&#40;SP_DEVINFO_DATA&#41;;
    	int nb = SetupDiEnumDeviceInfo&#40;hDevInfo,0,&DeviceInfoData&#41;;
    	for &#40;int i=0;SetupDiEnumDeviceInfo&#40;hDevInfo,i,&DeviceInfoData&#41;;i++&#41;
    	&#123;
    		InterfaceDeviceInfoData.cbSize = sizeof&#40;SP_INTERFACE_DEVICE_DATA&#41;;
    		DWORD needed;
    		if &#40;!SetupDiEnumDeviceInterfaces&#40;hDevInfo,NULL,&hidGUID,i,&InterfaceDeviceInfoData&#41;&#41;
    		&#123;
    			SetupDiDestroyDeviceInfoList&#40;hDevInfo&#41;;
    			printf&#40;"erreur setupenumdevice\n"&#41;;
    			return 0;
    		&#125;
    		//une première fois afin de connaître la taille de la zone mémoire à réserver &#40;needed&#41;
    		SetupDiGetDeviceInterfaceDetail&#40;hDevInfo,&InterfaceDeviceInfoData,NULL,0,&needed,NULL&#41;;
    		//on réserve la taille mémoire
    		PSP_DEVICE_INTERFACE_DETAIL_DATA detail = &#40;PSP_INTERFACE_DEVICE_DETAIL_DATA&#41; new char&#91;needed&#93;;
    		if &#40;!detail&#41;
    		&#123;
    			printf&#40;"Problème mémoire PSP_INTERFACE_DEVICE_DETAIL_DATA"&#41;;
    			SetupDiDestroyDeviceInfoList&#40;hDevInfo&#41;;
    			return 0;
    		&#125;
    		//on cherche le "nom" du device
    		detail->cbSize = sizeof&#40;SP_DEVICE_INTERFACE_DETAIL_DATA&#41;;
    		if &#40;!SetupDiGetDeviceInterfaceDetail&#40;hDevInfo,&InterfaceDeviceInfoData,detail,needed,NULL,NULL&#41;&#41;
    		&#123;
    			delete detail;
    			printf&#40;"Aucune information de détail"&#41;;
    			SetupDiDestroyDeviceInfoList&#40;hDevInfo&#41;;
    			return 0;
    		&#125;
    
    		printf&#40;"device path %s\n",detail->DevicePath&#41;;
    		HANDLE hCom;
    		hCom = CreateFile&#40;detail->DevicePath, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL&#41;;
    		DWORD test = GetLastError&#40;&#41;;
    
    		if &#40;hCom == INVALID_HANDLE_VALUE&#41;
    		&#123;
    			LPSTR Message;
    			FormatMessage&#40;FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,NULL,test,
    				MAKELANGID&#40;LANG_NEUTRAL, SUBLANG_DEFAULT&#41;,&#40;LPSTR&#41;&Message,0,NULL&#41;;
    			printf&#40;"invalid handle %s\n",Message&#41;;
    		&#125;
    		else
    		&#123;
    			printf&#40;"HANDLE Correct\n",hCom&#41;;
    		&#125;
    
    	/*char* command=&#40;char*&#41;malloc&#40;100&#41;;
    	command="yayayayayaya";
    	DWORD nboce;
    	int retour;
    	retour=WriteFile&#40;hCom,command,11,&nboce,NULL&#41;;
    	if&#40;&#40;retour==0&#41; || &#40;nboce<=0&#41;&#41;
    	&#123;
    		return 0;
    	&#125;*/
    &#125;
        SetupDiDestroyDeviceInfoList&#40;hDevInfo&#41;;
    return 0;
    &#125;

Discussions similaires

  1. API communication port / USB
    Par usbeck dans le forum Visual C++
    Réponses: 15
    Dernier message: 24/03/2009, 11h01
  2. communication Port Usb en mode non bloquant
    Par laurentleroy dans le forum C
    Réponses: 4
    Dernier message: 28/10/2007, 23h29
  3. Communication Port USB
    Par gdumouli dans le forum C
    Réponses: 12
    Dernier message: 03/07/2007, 12h37
  4. Communication Port USB
    Par Skarsnick dans le forum Administration système
    Réponses: 2
    Dernier message: 28/03/2007, 13h41
  5. Communication ASP et Port USB ?
    Par nizarsm dans le forum ASP
    Réponses: 2
    Dernier message: 20/01/2006, 10h11

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