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 :

Detecter un caractere sur le port série


Sujet :

C

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Points : 30
    Points
    30
    Par défaut Detecter un caractere sur le port série
    Bonjour à tous.

    J'ai actuellement quelques problemes avec mon port série, il me fait des siennes. On s'entend mal en ce moment

    Mon but est de faire un hyperterminal-like

    Donc j'envoie des données sur un port série, des qu'un caractere est detecté avec kbhit() on envoie. Maintenant j'aimerais lire le caractere de l'autre coté en "live" si je puis dire.

    Voila un bout de mon code concernant mon problème.

    Code C : 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
         /* boucle tant que l'on ne quitte pas */
         do
         {
    		     /* menu */
    		     printf("\r\n");
    		     printf("1 : Envoyer des donnees.\r\n");
    		     printf("2 : Recevoir des donnees.\r\n");
    		     printf("3 : Quitter.\r\n");
    		     printf("Choix : ");
    		     scanf("%d", &nChoice);
     
    		     /* enoyer des données */
    		     if(nChoice == 1)
    		     {
    			     printf("\r\n");
    			     printf("Donnees a envoyer :\r\n");
    			     fflush(stdin);
    			     //gets(buffer);
    			     //printf("\r\n");
    			     //printf("Envoi des donnees...\r\n");    
    			     sprintf(NomPort,"COM1",NoPort);
    			   	 hCom=CreateFile(NomPort,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING ,0,NULL);
    			   	 scanf("%c",&octet);
     
    			     while(kbhit())
    			     {                  
    					buffer=getch();
    				    WriteCOM(buffer, strlen(buffer), &nBytesWritten)
    			     }
    			     //printf("%d octet(s) envoye(s).\r\n", nBytesWritten);
    			     //else
    			     //printf("Erreur lors de l'envoi.\r\n");
    		     }
     
    		     /* recevoir des données */
    		     if(nChoice == 2)
    		     {
    			     printf("\r\n");
    			     printf("Reception de donnees...\r\n");
    			     if(ReadCOM(buffer, sizeof(buffer)-1, &nBytesRead))
    			     {
    				     buffer[nBytesRead] = '\0';
    				     printf("%d octet(s) recu(s) :\r\n%s\r\n", nBytesRead, buffer);
    			     }
    				else
    				     printf("Erreur lors de la réception.\r\n");
    			}
    		}while(nChoice != 3);

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 245
    Points : 219
    Points
    219
    Par défaut
    Citation Envoyé par GomuSan Voir le message
    Maintenant j'aimerais lire le caractere de l'autre coté
    Tu te mets bien en lecture de l'autre côté?

  3. #3
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Points : 1 875
    Points
    1 875
    Par défaut
    Citation Envoyé par Michelk12 Voir le message
    Tu te mets bien en lecture de l'autre côté?
    bas vi, moi aussi je comprend pas bien la question .
    Que veut tu exactement ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 129
    Points : 83
    Points
    83
    Par défaut
    Il veut dire que pour tester, tu as besoin de 2 machines connectées avec le port série. Tu mets une machine en mode lecture et depuis l'autre tu envoies des données.

Discussions similaires

  1. Lire sur un port série de manière synchrone ?
    Par Hokagge dans le forum MFC
    Réponses: 26
    Dernier message: 09/06/2005, 12h16
  2. Réponses: 3
    Dernier message: 23/03/2005, 14h25
  3. [Kylix] Lecture sur le port série en C++
    Par MD Software dans le forum EDI
    Réponses: 1
    Dernier message: 08/05/2004, 12h52
  4. Quel langage choisir pour lire sur le port série ?
    Par Nico76 dans le forum Windows
    Réponses: 7
    Dernier message: 28/04/2004, 10h42
  5. Réception sur le port série sous DOS avec Borland V3.0
    Par jackyjacky dans le forum Autres éditeurs
    Réponses: 24
    Dernier message: 19/03/2004, 23h18

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