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 :

Liaison RS232 en langage C sur Windows


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Liaison RS232 en langage C sur Windows
    Salut les développeurs !!

    Je dois créer un programme C sous Windows qui réceptionne des données en provenance d'un port série avec un débit de 38400 bauds. Je crois savoir que pour controler un port série on utilise les fonctions fopen, fclose, fprintf et fscanf. Cependant, je ne sais pas comment configurer les paramètres du port (débit, nombre de bits, parité,...)

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    Sous Windows, on peut utiliser l'API Windows ( CreateFile(), ReadFile(), WriteFile(), ainsi que SetCommState() et SetCommTimeouts() pour régler).

    Avec les autres fonctions, je ne sais pas comment on règle.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Médinoc
    Sous Windows, on peut utiliser l'API Windows ( CreateFile(), ReadFile(), WriteFile(), ainsi que SetCommState() et SetCommTimeouts() pour régler).

    Avec les autres fonctions, je ne sais pas comment on règle.

    Au risque de passer pour bete, comment on utilise l'API windows ? Et comment fait-on pour obtenir de l'aide sur ces fonctions (connaître les paramètres en autres) ?

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    l'API Windows de base est disponible directement, il suffit d'inclure le bon header: (évidemment, il faut un compilateur pour Windows (Visual Studio, Dev-C++, etc.)

    Pour obtenir de l'aide, deux façons possibles:
    1° Tu as Visual avec l'Aide MSDN installée, dans ce cas tu tapes CreateFile dans un de tes fichiers, tu mets le curseur dessus et tu appuies sur F1
    2° Tu vas sur http://msdn.microsoft.com/library et tu tapes le nom de la fonction dans le champ Recherche.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Médinoc
    l'API Windows de base est disponible directement, il suffit d'inclure le bon header: (évidemment, il faut un compilateur pour Windows (Visual Studio, Dev-C++, etc.)

    Pour obtenir de l'aide, deux façons possibles:
    1° Tu as Visual avec l'Aide MSDN installée, dans ce cas tu tapes CreateFile dans un de tes fichiers, tu mets le curseur dessus et tu appuies sur F1
    2° Tu vas sur http://msdn.microsoft.com/library et tu tapes le nom de la fonction dans le champ Recherche.
    D'accord. A ton avis quel est le meilleur compilateur, Visual Studio, Dev-c++ ? (a moins qu'il n'y ai pas de différences)

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    Ben...
    Visual supporte plus de choses (notamment une forme de développement en C++ avec MFC, ou encore ATL... Mais qui sont difficiles à maitriser pour un débutant, et surtout utiles en mode graphique) et il me semble qu'il optimise bien.

    Dev-C++ est gratuit, mais je crois qu'il ne supporte pas MFC, et surtout, il n'a pas d'éditeur de ressources convenable (surtout utile pour utiliser les boites de dialogue). Et puis, il n'a pas d'option pour ouvrir directement un fichier header (avec Visual, on peut ouvrir stdio.h par exemple avec le menu clic-droit sur le #include).

    Pour les autres, je ne sais pas.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    ok merci à toi. Je vais télécharger Visual Studio alors. Tu n'aurais pas un exemple simple où tu utiliserai un port série par hasard ?

  8. #8
    Membre actif Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Points : 274
    Points
    274
    Par défaut
    Visual Studio 2005 possède un composant RS232... c'est donc super simple, RS232.open(); etc...

    Sinon en langage C

    diaboloche.be.cx rubrique projet langage, tu as un pdf qui te montre un exemple.

  9. #9
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    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 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    Le port COM est vu comme un fichier. Tu peux le manipuler via Win32 avec CreateFile / etc... (fonctions des fichiers de Win32) ou via les fonctions C (fopen...) qui en interne utilisent CreateFile etc...
    Mais pour les réglages, tu dois passer par Win32.
    http://c.developpez.com/faq/vc/?page...WithSerialPort

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    Le port COM est vu comme un fichier. Tu peux le manipuler via Win32 avec CreateFile / etc... (fonctions des fichiers de Win32) ou via les fonctions C (fopen...) qui en interne utilisent CreateFile etc...
    Mais pour les réglages, tu dois passer par Win32.
    http://c.developpez.com/faq/vc/?page...WithSerialPort


    Merci de m'avoir rediriger vers ce FAQ, ce fut très instructif.

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

Discussions similaires

  1. [Free Pascal] Liaison RS232 sous Windows XP
    Par tgvtrains dans le forum Free Pascal
    Réponses: 2
    Dernier message: 31/08/2012, 16h14
  2. [Débutant] Recuperer une trame sur une liaison RS232 (CommPortDriver)
    Par coxycross dans le forum C++Builder
    Réponses: 3
    Dernier message: 23/05/2012, 13h02
  3. Réponses: 2
    Dernier message: 19/01/2010, 21h42
  4. Réponses: 2
    Dernier message: 16/07/2009, 14h35
  5. Langage C et liaison RS232
    Par Spikedu63 dans le forum C
    Réponses: 9
    Dernier message: 17/09/2005, 12h26

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