seignseifer
Messages postés5Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 5 mars 2007
-
20 févr. 2007 à 09:12
BeTranx
Messages postés1Date d'inscriptionmercredi 27 février 2008StatutMembreDernière intervention27 février 2008
-
27 févr. 2008 à 13:14
Bonjour,
je pense que cette question a du etre posee plusieurs fois, mais je n'ai trop trouve de reponse claire. Je suis debutant et j'aurai aime savoir comment recevoir des information d'un appareil branche en USB. Je developpe sous Borland C++Builder 6, et je souhaite recevoir les information que transmet un analyseur de spectre a l'ordinateur , via USB.
Je vous remercie
BeTranx
Messages postés1Date d'inscriptionmercredi 27 février 2008StatutMembreDernière intervention27 février 2008 27 févr. 2008 à 13:14
Tu peux utiliser les mêmes API Win32 qu'avec les ports COM i.e. CreateFile, WriteFile, ReadFile et CloseHandle.
La difficulté consiste à trouver le nom du port USB à utiliser lorsque tu fais le CreateFile. Il te faut récupérer le SymbolicName dans la registry sous la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB.
Chacune des subkeys de la clé ci-dessus correspond à une entrée USB (devices, hubs...) et il te faut rechercher celle que tu veux. Une fois que tu l'as trouvé, tu peux ouvrir le port avec CreateFile.
Tu peux également utiliser la SetupApi.dll pour rendre ce processus automatique une fois que tu sais quelles informations tu cherches mais ce n'est pas nécessaire dans un premier temps et tout n'est pas accessible (du moins je n'ai pas pu accéder à toutes les infos que je cherchais...)
J'ai dû modifié le source code donc ça risque de ne pas compiler dès le premier coup... Je te conseille de lire l'article sur les Communications avec un port série (lien au début du post).
class CComm
{
protected:
// Handle du port
HANDLE m_hPort;
// Structure pour les IO
OVERLAPPED m_olWrite, m_olRead;