angsthase
Messages postés72Date d'inscriptionmardi 20 juillet 2004StatutMembreDernière intervention11 avril 2005
-
29 mars 2005 à 09:21
angsthase
Messages postés72Date d'inscriptionmardi 20 juillet 2004StatutMembreDernière intervention11 avril 2005
-
29 mars 2005 à 15:25
Salut à tous !
Comment peut-on communiquer avec un port USB ?????
J'ai déjà vu sur ce forum une question telle que celle-ci, mais je n'ai pas compris la réponse.
Elles disaient soit d'utiliser CreateFile ( ????????? si
vous avez un exemple..... ) ou d'utiliser un driver virtuel ou
quelque chose comme çà ?!?!?!?!.
Si quelqu'un pouvais m'aider................................
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 29 mars 2005 à 15:14
Comme je l'ai dit a début, je ne sais pas comment utiliser les ports USB directement. Plusieurs types de périphériques utilisant le port USB déclarent celui-ci en tant que port série virtuel et on peut donc l'utiliser comme un port COM standard en mettant COMx (x étant attribué par le driver du périphérique). Si le périphérique sert au stockage alors il devrait y avoir un drivers qui permet d'utiliser les fonctions standards d'accès aux fichier (CreateFile pour l'API ou fopen pour le C ANSI).
Maintenant si tu veux écrire directement sur le port USB (pour faire changer les nivreaux des broches et tout) sans périphérique au bout qui te fournit un driver ça risque d'être plus tendu et là mes connaissances s'arrêtent. Dans ce cas, il faut regarder les exemples du ddk (driver devloppement kit) sur MSDN je pense qu'il doit y avoir + de renseignements.
http://msdn.microsoft.com/library/
angsthase
Messages postés72Date d'inscriptionmardi 20 juillet 2004StatutMembreDernière intervention11 avril 20051 29 mars 2005 à 10:24
Quand tu dit " Linux connais pas. ", c'est toi qui ne connais pas linux ou CreateFile ??? ( ou les 2 )
Sinon, est ce que tu peut m'envoyer le code pour communiquer avec un
port USB sous windows ? ( si ut as pas, juste le code pour savoir
comment fonctionne CreateFile) Je travaille sous windows pour l'instant
et je m'arrangerai pour y rester. C'est le patron qui veut que je passe
sous linux.................
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 29 mars 2005 à 10:44
Petite précision : mes sources traitent des ports RS232, en ce qui concerne les ports USB, je n'ai aucune idée, désolé. Mais bon c'est peut-être possible avec CreateFile.
ricky78
Messages postés126Date d'inscriptionjeudi 5 juin 2003StatutMembreDernière intervention11 juillet 2006 29 mars 2005 à 10:59
Le createfile fonctionne avec l'USB si celui ci est déclaré comme un port série virtuel. La fonction createfile ("com6",...) ecrira comme dans un port série.
Dans le cas ou un driver spécifique a été codé je n'ait pas la réponse mais si quelqu'un à des pistes je suis preneur.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 29 mars 2005 à 11:01
ah oui désolé, je suis encore passé trop vite d'un truc à un autre, la question est sur USB et non RS232. Dans tous les cas si ton periph s'interface tel un stockage de masse alors CreateFile ira impec (cas le + fréquent) tout seul sinon il te faudra passer par un driver qui transmettra les données à ReadFile et/ou WriteFile, squelette exemple est fourni dans le ddk.
angsthase
Messages postés72Date d'inscriptionmardi 20 juillet 2004StatutMembreDernière intervention11 avril 20051 29 mars 2005 à 12:13
J'ai vu mais il y a toujours l'erreur. J'ai créer un projet avec
dev-c++ et j'y ai ajouter tous les en-tête que tu à ajouter mais il ne
veut toujours pas ??!?!?!
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 29 mars 2005 à 12:32
Ca veut dire que le fichier objet généré par le compilateur ne peur être trouvé par le linker
- soit parce que la compilation a échoué.
- soit parceque ce fichier n'est pas créé au bon endroit. Vérifie dans les options du projet si la sortie du compilo (les .o) et l'entrée du linker sont dans le même répertoire.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 29 mars 2005 à 13:54
shlwapi.h est une entête de l'API windows (devrait se trouver dans le répertoire include de dev-cpp). Il ne faut pas oublier d'ajouter la lib libshlwapia au linker
Tous les fichiers du zip doivent être dans le projet. par contre il risque d'y avoir des pb de compatibilités avec le .rc (ressources).
Pour en revenir à ton problème, je pense que tu devrait essayer l'autre source qu'a mis brunews dans son post. Elle est plus simple à compendre et à compiler pour débuter avec CreateFile et les ports COM (1 seule fichier source, un prog console et pas de ressources).