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

Langage C++ Discussion :

Questions concernant un périphérique USB


Sujet :

Langage C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Points : 18
    Points
    18
    Par défaut Questions concernant un périphérique USB
    Bonsoir tout le monde,

    je suis actuellement en projet dans lequel je dois établir la communication entre un périphérique USB et mon ordinateur (tournant sous Windows Xp).

    J'ai quelques petites interrogations là dessus :

    - Mon périphérique USB est reconnu comme une liaison série (COM3) sous Windows, il nécessite d'ailleurs un driver. Est-ce que je peux effectuer la communication avec des méthodes génériques telles que open(), read(), write(), close() (en C++) ? Ou il faut connaître les méthodes spécifiques liées à ce périphérique ? et si c'est le cas comment procéder ?

    - Comme je l'ai dit avant, l'OS me détecte un COM3 quand je branche l'appareil, est-il possible d'utiliser un programme qui utilise l'USB plutôt que la liaison série ?

    - Est-ce grave si mon périphérique possède deux drivers différents d'actifs ?

    Merci par avance de votre aide ! Parce que là je suis paumé

  2. #2
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Mon périphérique USB est reconnu comme une liaison série (COM3) sous Windows, il nécessite d'ailleurs un driver. Est-ce que je peux effectuer la communication avec des méthodes génériques telles que open(), read(), write(), close() (en C++) ? Ou il faut connaître les méthodes spécifiques liées à ce périphérique ? et si c'est le cas comment procéder ?
    Tu peux, si tu connais le protocole de communication utilisé par le périphérique. Mais d'un côté, tu te prives de fonctions avancées pour rien. Préfère les fonctions Win32 (OpenFile, ReadFile, WriteFile, CloseFile) à ces fonctions POSIX. Ca te permettra d'utiliser également des fonctions telles que SetCommState (configuration du port COM), SetCommMask (Gestion des événements), etc.

    Comme je l'ai dit avant, l'OS me détecte un COM3 quand je branche l'appareil, est-il possible d'utiliser un programme qui utilise l'USB plutôt que la liaison série ?
    Si le périphérique est attaché à un port série il faut le considérer comme tel, c'est tout.

    Est-ce grave si mon périphérique possède deux drivers différents d'actifs ?
    Ca va juste causer un écran bleu je crois . En fait ça dépend du matériel, de la version du système, et désolé mais je ne sais pas ce que ça donne pour un port usb sous XP, mais je mise sur l'écran bleu.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Tu peux, si tu connais le protocole de communication utilisé par le périphérique. Mais d'un côté, tu te prives de fonctions avancées pour rien. Préfère les fonctions Win32 (OpenFile, ReadFile, WriteFile, CloseFile) à ces fonctions POSIX.
    Tu n'aurais pas par hasard de la documentation sur ces fonctions win32 ?

    Et peut être que je me trompe mais ces fonctions sont issues des ces headers windows.h et winbase.h non ?

    Ca va juste causer un écran bleu je crois . En fait ça dépend du matériel, de la version du système, et désolé mais je ne sais pas ce que ça donne pour un port usb sous XP, mais je mise sur l'écran bleu.
    Non j'ai pas (encore ?) eu d'écran bleu lol, je vais donc retirer le driver en trop

    Encore une petite question, le fait que Windows considère mon périphérique comme une liaison série, y a-t-il une influence sur le débit de transfert des données et/ou de traitement (alors qu'à la base c'est de l'USB )

    En tout cas merci de m'avoir répondu si rapidement.

  4. #4
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Tu n'aurais pas par hasard de la documentation sur ces fonctions win32 ?
    [MSDN] Communication Resources

    Et peut être que je me trompe mais ces fonctions sont issues des ces headers windows.h et winbase.h non ?
    <windows.h> est le fichier d'en-tête principal de l'API Windows. Il inclut de nombreux fichiers d'en-tête tels que <windef.h>, <winnt.h>, <winbase.h>, etc. mais tu as généralemnt le droit d'ignorer ces détails. Le seul fichier que tu dois retenir ici c'est <windows.h>.

    Encore une petite question, le fait que Windows considère mon périphérique comme une liaison série, y a-t-il une influence sur le débit de transfert des données et/ou de traitement
    Oui, parce que la communication se fera avec un protocole pour les liaisons série RS232. Tu comprendras mieux lorsque tu t'attaqueras à l'étude des fonctions que je t'ai indiquées.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Deux questions concernants les vues
    Par 13obscur dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 19/04/2005, 14h29
  2. [Servlet + Class] question concernant plusieurs connections
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 29/11/2004, 16h39
  3. Réponses: 7
    Dernier message: 10/09/2004, 14h28
  4. [Indy] Questions concernant l'envoi de mail
    Par delphicrous dans le forum Web & réseau
    Réponses: 3
    Dernier message: 24/06/2004, 15h06
  5. Question concernant l'API "WaitforSingleObject
    Par Drooxy dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 29/03/2003, 07h26

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