PortSerie [Résolu]

Messages postés
29
Date d'inscription
vendredi 3 juin 2005
Dernière intervention
8 février 2012
- - Dernière réponse : Florenzau
Messages postés
29
Date d'inscription
vendredi 3 juin 2005
Dernière intervention
8 février 2012
- 10 juin 2005 à 14:15
Bonjour, j'ai un probleme avec mon appli, elle se bloque quand je lui dis:



unsigned long I;

ReadFile(h,b,n,(unsigned long * )&I,NULL);



Je ne sais pas comment faire pour que mon programme ne se bloque pas sur cette ligne si le port est "vide";

Ce que je voudrai:

Si (ReadFile ne recois rien)

continuer (partir dans une autre fonction par exemple)

Sinon

ranger la donnée reçue

Fin Si

Merci de votre aide
Afficher la suite 
A voir également:

Votre réponse

3 réponses

Meilleure réponse
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Dernière intervention
3 juillet 2006
13
3
Merci
Dans mes sources, un exemple de base avec les ports.

il faut configurer les timeouts par SetCommTimeouts

Dans ton cas :
COMMTIMEOUTS cto =
{
0xFFFFFFFF, // ReadIntervalTimeOut => retourne même s'il n'y a rien à lire
0, // ReadTotalTimeOutMultiplier
0, // ReadTotalTimeOutConstant
0, // WriteTotalTimeOutMultiplier
0 // WriteTotalTimeOutConstant
};

SetCommTimeouts(hComm, &cto);

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 124 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Dernière intervention
3 juillet 2006
13
0
Merci
Autre possibilité : déterminer conbien d'octets on peut lire :

COMSTAT cs = {0};
DWORD dwErrors;
ClearCommError(hSP, &dwErrors, &cs);

cs.cbInQue donne le nombre d'octets présent dans le buffer de réception.
Commenter la réponse de ymca2003
Messages postés
29
Date d'inscription
vendredi 3 juin 2005
Dernière intervention
8 février 2012
0
Merci
Merci beaucoup!!!!!!!!!
Commenter la réponse de Florenzau

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.