Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : parametrer un port usb [ Archives / Au secours ] (remus38)

lundi 20 mars 2006 à 16:18:12 | parametrer un port usb

remus38

Bonjour,
je suis en train de réaliser un programme afin de récupérer des données envoyer par un agenda relié en usb, et j'aimerais savoirquelques petites choses. J'ai récuperer et analyser une source permettant de lire et d'ecrire des informations à partir d'un port com, et je voudrais savoir si, pour la communication usb, le systeme est le meme. Et si oui comment parametrer le port au depart.

D'avance merci

mardi 21 mars 2006 à 09:11:35 | Re : parametrer un port usb

anthonycosson

le systeme est le meme mais il faut recuperer le GUID du port usb utilisé pour le mettre ensuite dans le createfile

voila le debut du code:

#include <stdio.h>

#include <stdlib.h>

#include <objbase.h> //DWORRD, ...

#include <setupapi.h> // 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 (lib,"setupapi.lib")

#define INITGUID

int main()

{

//GUID hidGUID = {0xa5dcbf10, 0x6530, 0x11d2, {0x90, 0x1f, 0x00, 0xc0, 0x4f, 0xb9, 0x51, 0xed}};

//GUID hidGUID = {0x53f56307, 0xb6bf, 0x11d0, {0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b}};

/*ROOT_HSB*/GUID hidGUID = {0xf18a0e88, 0xc30c, 0x11d0, {0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8}};

//GUID hidGUID = {0x53f56307, 0xb6bf, 0x11d0, {0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b}};

///*DOUCHETTE*/GUID hidGUID = {0x745a17a0L, 0x74d3, 0x11d0, {0xb6, 0xfe, 0x00, 0xa0, 0xc9, 0x0f, 0x57, 0xda}};

///*DOUCHETTE*/GUID hidGUID = {0xA5DCBF10L, 0x6530, 0x11D2, {0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED}};

HDEVINFO hDevInfo;

SP_INTERFACE_DEVICE_DATA InterfaceDeviceInfoData;

hDevInfo = SetupDiGetClassDevs(&hidGUID, 0, 0, DIGCF_PRESENT | DIGCF_INTERFACEDEVICE);

if (hDevInfo == INVALID_HANDLE_VALUE)

{

printf("Erreur SetUpDiGetClassDevs\n");

return 0;

}

SP_DEVINFO_DATA DeviceInfoData;

DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);

int nb = SetupDiEnumDeviceInfo(hDevInfo,0,&DeviceInfoData);

for (int i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++)

{

InterfaceDeviceInfoData.cbSize = sizeof(SP_INTERFACE_DEVICE_DATA);

DWORD needed;

if (!SetupDiEnumDeviceInterfaces(hDevInfo,NULL,&hidGUID,i,&InterfaceDeviceInfoData))

{

SetupDiDestroyDeviceInfoList(hDevInfo);

printf("erreur setupenumdevice\n");

return 0;

}

//une première fois afin de connaître la taille de la zone mémoire à réserver (needed)

SetupDiGetDeviceInterfaceDetail(hDevInfo,&InterfaceDeviceInfoData,NULL,0,&needed,NULL);

//on réserve la taille mémoire

PSP_DEVICE_INTERFACE_DETAIL_DATA detail = (PSP_INTERFACE_DEVICE_DETAIL_DATA) new char[needed];

if (!detail)

{

printf("Problème mémoire PSP_INTERFACE_DEVICE_DETAIL_DATA");

SetupDiDestroyDeviceInfoList(hDevInfo);

return 0;

}

//on cherche le "nom" du device

detail->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);

if (!SetupDiGetDeviceInterfaceDetail(hDevInfo,&InterfaceDeviceInfoData,detail,needed,NULL,NULL))

{

delete detail;

printf("Aucune information de détail");

SetupDiDestroyDeviceInfoList(hDevInfo);

return 0;

}

printf("device path %s\n",detail->DevicePath);

HANDLE hCom;

hCom = CreateFile(detail->DevicePath, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);

DWORD test = GetLastError();

if (hCom == INVALID_HANDLE_VALUE)

{

LPSTR Message;

FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,NULL,test,

MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPSTR)&Message,0,NULL);

printf("invalid handle %s\n",Message);

}

else

{

printf("HANDLE Correct\n",hCom);

}

}

SetupDiDestroyDeviceInfoList(hDevInfo);

return 0;

}


par contre mes GUID doivent certainement differé des tiens....

voila mon adresse e-mail au cas tu voudrai deux trois renseignement miguelbouchof@hotmail.com


mercredi 22 mars 2006 à 15:41:07 | Re : parametrer un port usb

remus38

Je te remercie beaucoup,
j'essaierais ce code au plus vite




Cette discussion est classé dans : port, usb, parametrer


Répondre à ce message

Sujets en rapport avec ce message

port usb [ par agouti ] Comment peut on faire pour lire avec un lecteur de carte sur port usb merci d'avance lecture sur le port usb [ par Draven ] je souhaite branche une webcam sur le port usb et faire la lecture de ce que transmet la webcam. mais je sais pas koment lire le port usb.alors si vou port usb [ par voodoudic ] salut a tous vous n'auriez pas des source pour lire les port usb?j'ai chercher sur tout le site j'ai pas trouvésource orienté plus sur l'empreinte dig le port usb [ par stefisen ] bonjour,J'aimerais savoir comment procede t'on pour ecrire sur le port usb(octet) via visual c++ 6.0Merci d'avancestef Espion Serie [ par BarthOlivier ] Bonjour.... Je voudrais savoir si quelqu'un c'est déjà intéressé a ce sujet.Je voudrais en fait avoir deux logiciels ouvrant le même port de Communica écrire sur un port usb? [ par antoinec ] Est ce que quelqu'un sait comment il est possible d'envoyer ou de récupérer un octet sur un port USB?Antoine lecture du port USB [ par peb69 ] Bonjour, je souhaite lire les données sur un port USB. En faite j'ai crée une interface qui se branche sur le port USB, et je souhaite lire les inform Communiquer avec un port USB via COM [ par Kornferki ] Je cherche a transmettre des informations vers un port COM (USB). J ai tente quelques sources fournies sur le site, mais sans succes. Lorsque je tente le port USB [ par dross2 ] Si on arrive à trouver beaucoup de source pour communiquer avec le port série, je ne trouve rien pour le port USB, pourriez vous m'indiquer comment re USB, lecture d'un port [ par Nero ] Hello a vous !Je cherche désespérement une procédure qui permet de lire le port USB... Je m'explique, j'ai un montage électronique avec un chip USB pi


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.