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

C++ Discussion :

controle rs232 (liaison)


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Points : 1
    Points
    1
    Par défaut controle rs232 (liaison)
    bonjour, je suis débutant sur ce site, mon but et de réaliser un transfert de fichier vers un autre pc avec une liaison rs232 , cherche comment faire avec une interface graphique sur c++ merci a vous si quelqu'un a une moindre idées merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    Un module de Boost.Asio propose une solution pour cette problématique :

    http://www.boost.org/doc/libs/1_52_0...ial_ports.html

    Cela simplifiera considérablement le travail par rapport à un pilotage du file descriptor.

    Pour l'IHM... libre à toi d'utiliser l'API que tu préfère MFC, Qt, Gtk ....

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    merci pour la reponse mais pas certainement ça je veux une simple fen^tre avec choix du port un bouton de parcourir et un bouton trasfert un simple comme ça

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,
    Citation Envoyé par musnet Voir le message
    merci pour la reponse mais pas certainement ça je veux une simple fen^tre avec choix du port un bouton de parcourir et un bouton trasfert un simple comme ça
    Le problème, c'est que tu as réellement deux parties à ta question:
    La partie principale concerne tout ce qui a trait à la transmission des informations par la liaison rs232.

    La deuxième partie, finalement, beaucoup plus simple à mettre en oeuvre, correspond à la mise au point de la fenêtre avec les différents éléments qui te permettent de faire les choix etc.

    Pour cette partie spécifique, le plus facile est sans doute de te diriger vers une bibliothèque IHM comme Qt (au sujet de laquelle tu as une section dédiée du forum ), mais, ce qu'il faut que tu comprenne, c'est que, quoi qu'il arrive, il faudra bel et bien que tu t'intéresse un minimum (important ) à la manière de faire communiquer tes deux ordinateurs par le port série, et ca, tu n'y couperas décidément pas
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 79
    Points : 45
    Points
    45
    Par défaut
    Visual studio 2012 n'offre pas déjà une boite à outils pour faire tout sa en .net ?

    C'est quoi tu utilise pour la transmission, un câble db9 rs232 femelle-femelle ?

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    merci a vous oui je vais bien utiliser db9 femelle femelle , et sil ya un autre programme atester c'est bon je peux l'essayer ,moi c'est mon idée de essayer un pc vers pc je trouve un peux simple juste que le code est un peux flou merci

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 79
    Points : 45
    Points
    45
    Par défaut
    C'est avec quoi que tu as de la misère au juste ? la transmission de donnée entre deux ordinateurs via un port-série ?

    voici un example de communication port série :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    /////////////////////////////////////////////////////////////
    //                                                         //
    //   Exemple de base de communication série sous Windows   //
    //   Dernière mise à jour le 2010-11-01                    //
    //                                                         //
    /////////////////////////////////////////////////////////////
     
    #include <windows.h>
    #include <iostream>
     
    using namespace std;
     
     
    void TraiterErreur( char* message, DWORD erreur )
    {
       cout << "Erreur no " << erreur << " dans " << message << endl;
       ExitProcess( 1 );
    }
     
     
    int main( int argc, char* argv[] )
    {
       HANDLE portSerie;
     
       //
       // ouverture du port
       //
     
       portSerie = CreateFile( "COM3", GENERIC_READ | GENERIC_WRITE, 0, 0,
          OPEN_EXISTING, 0, 0 );
     
       if( portSerie == INVALID_HANDLE_VALUE )
       {
          TraiterErreur( "dans CreateFile", GetLastError() );
       }
     
     
       //
       // réglage des paramètres de communication
       //
     
       DCB dcb;
     
       // obtention des paramètres courants
     
       if( ! GetCommState( portSerie, &dcb ) )
       {
          TraiterErreur( "dans GetCommState", GetLastError() );
       }
     
       // modification des principaux paramètres   
     
       dcb.BaudRate = 9600;
       dcb.ByteSize = 8;
       dcb.Parity   = NOPARITY;
       dcb.StopBits = ONESTOPBIT;
     
       // application des nouveaux paramètres
     
       if( ! SetCommState( portSerie, &dcb ) )
       {
          TraiterErreur( "dans SetCommState", GetLastError() );
       }
     
     
       //
       // test d'écriture
       //
     
       char tamponEcriture[] = { "Ceci est un test" };
       DWORD nbCaracteresEcrits;
     
       if( ! WriteFile( portSerie, tamponEcriture,
          sizeof( tamponEcriture ), &nbCaracteresEcrits, NULL ) )
       {
          TraiterErreur( "dans WriteFile", GetLastError() );
       }
     
       cout << nbCaracteresEcrits << " octets ecrits" << endl;
     
     
       //
       // réglage des délais de lecture
       //
     
       COMMTIMEOUTS delais;
     
       // mets tous les champs de la structure à zéro
     
       memset( &delais, 0, sizeof( delais ) );
     
       // délai total de lecture de 15 secondes
     
       delais.ReadTotalTimeoutConstant = 15000;
     
       if( ! SetCommTimeouts( portSerie, &delais ) )
       {
          TraiterErreur( "dans SetCommTimeouts", GetLastError() );
       }
     
     
       //
       // test de lecture
       //
     
       char tamponLecture[ 1024 ];
       DWORD nbCaracteresLus;
     
       if( ! ReadFile( portSerie, tamponLecture, 10, &nbCaracteresLus,
          NULL ) )
       {
          TraiterErreur( "dans ReadFile", GetLastError() );
       }
     
       // affichage des caractères lus
     
       cout << nbCaracteresLus << " octets lus" << endl;
     
       for( int i = 0; i < ( int )nbCaracteresLus; i++ )
       {
          cout << tamponLecture[ i ];
       }
       cout << endl;
     
     
       //
       // fermeture du port série
       //
     
       if( ! CloseHandle( portSerie ) )
       {
          TraiterErreur( "dans CloseHandle", GetLastError() );
       }
    }
    ps: es que tu vas au collège lionel-groulx ?

Discussions similaires

  1. [WD15] Controle sur liaison de fichier
    Par buzz68180 dans le forum WinDev
    Réponses: 2
    Dernier message: 02/11/2010, 08h32
  2. [VB]Gérer la liaison entre controle utilisateur et form
    Par Ooly2001 dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 23/01/2006, 09h50
  3. Liaison RS232 en langage C sur Windows
    Par Spikedu63 dans le forum Windows
    Réponses: 9
    Dernier message: 12/10/2005, 15h46
  4. Langage C et liaison RS232
    Par Spikedu63 dans le forum C
    Réponses: 9
    Dernier message: 17/09/2005, 12h26
  5. [Debutant(e)] Liaison série RS232 et servlet
    Par bourack dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 07/01/2005, 14h50

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