begin process at 2012 05 29 21:05:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

Problème de lecture dans un port com


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de lecture dans un port com

vendredi 24 décembre 2010 à 22:45:42 | Problème de lecture dans un port com

sweety663

Bonjour à tous,
J'ai un problème au niveau de mon code de communication entre port com. Tout d'abord comme je n'ai qu'un pc portable (donc pas de port com) j'ai télécharger un logiciel qui me permet de créer des paires de ports com virtuels (par exemple COM1 et COM2) connectés entre eux, de voir leur état (fermés/ouverts), le nombre de bytes qu'ils émettent et reçoivent...
Quand j'exécute mon code j'arrive à voir que mon port COM1 à envoyer un certain nombre de bytes et que mon port COM2 a reçu ce même nombre de bytes.
Mais la fonction ReadFile lit 0 bytes.
Je n'arrive pas à voir mon erreur pourtant il y en a surement.
Merci d'avance pour votre aide.

Voila le code :
int RecevoirRS232(char *ChaineRecue,char *Port)
{
DCB dcb;
HANDLE hCom;
BOOL fSuccess;
BOOL bResult;
COMMTIMEOUTS tTimeout;
unsigned long nBytesRead;
int TimeoutRead;
int NbOctet;


/*-------------------------------------*/
/* Initialisation des variables */
/*-------------------------------------*/

BYTE*inBuffer[200]={0};

/*-----------------------------------------------*/
/* Ouverture du port de communication */
/*-----------------------------------------------*/

hCom = CreateFile(Port,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL
);
/*----------------------------------*/
/* Définition des timeouts */
/*----------------------------------*/

TimeoutRead = 500; // timeout de 500ms
tTimeout.ReadIntervalTimeout = MAXWORD;
tTimeout.ReadTotalTimeoutMultiplier = 0;
tTimeout.ReadTotalTimeoutConstant = TimeoutRead; // pas de time out = 0
tTimeout.WriteTotalTimeoutMultiplier = 0;
tTimeout.WriteTotalTimeoutConstant = 0;

// configurer le timeout
SetCommTimeouts(hCom,&tTimeout);

/*-------------------------------------------------------------*/
/* boucle d'attente de lecture des octets */
/* Sortie de la boucle par timeout par exemple, si */
/* l’on suppose le format de la trame reçu n’est */
/* variable. */
/*-------------------------------------------------------------*/

bResult = ReadFile(hCom,&inBuffer,199,&nBytesRead,NULL);

printf("ChaineRecue :%s",inBuffer);

if (nBytesRead==0) // il n'y a pas d'octets lus
{
sprintf(inBuffer, "%s", "Pas de donnee recue");
}

sprintf(ChaineRecue, "%s", inBuffer) ;
printf("ChaineRecue :%s",ChaineRecue); // Retourner la chaine recue

// fermer le port
CloseHandle(hCom);

// Libérer la mémoire
delete[] inBuffer;

return(fSuccess);
}


Cette discussion est classée dans : port, chainerecue, com, ttimeout, inbuffer


Répondre à ce message

Sujets en rapport avec ce message

Comment savoir le nomdu processus utilisant un port COM? [ par Coolpix08 ] Bonjour à  tous,    Voila je n'ai pas trouvé la réponse à ma question dans le forum alors je viens poser ma pierre à l'immense édifice déjà batti!!    Port COM : ReadFile == TRUE et nbreadbyte = 0 ??? BUG? [ par Coolpix08 ] Bonsoir à tous!!!    Je crois que je viens de découvrir un bug de la fonction ReadFile...........enfin j'espere pas!!!!    Ca fait lontemps que j'util DBGrid [ par lillith212 ] Bonjour à toutes et à tous,Nouvelle dans la programmation en C++, je suis entrain de développer un logiciel qui communique via un port com et qui affi Réception par le port com [ par caissepro ] Bonjour,J'aimerais savoir comment recevoir de l'information par le port com à tout moment.Lorsque mon programme principale tourne, de l'information pe desactiver l'echo sur une liaison RS232 [ par yooyoo78450 ] Bonjour, j'aurais voulu savoir comment désactiver l'echo sur une liaison série en port com, voila un bout de mon programme où sont decrites les optio Port COM, detection trame [ par neo85170 ] Bonjour à tous. Je suis en train de créer une application java qui utilise du code C pour dialoguer avec une carte reliée à l'ordi par un port COM. Ju Port bluetooth [ par thelme ] Bonjour,Depuis un trop grand nombre de mois je tente de trouvé un programme qui puisse envoyer et recevoir des octets via port bluetooth pour pouvoir lecture/écriture port COM utilisé et connecté (modem) [ par mistigwn ] Bonjour,J'aimerai dialoguer avec un modem GSM, et écrire des commandes AT sur son port COM. Tant qu'il est déconnecté, pas de soucis. Par contre, dès Erreur d'execution d'uns dll [ par fabrice91 ] Bonjour tout le monde, voici mon problème : J'ai récupéré un code sur ce fabuleux site qu'est cppfrance;) (http://www.cppfrance.com/codes/BASE-COMMUNI


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,728 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales