PortSerie [Résolu]

Florenzau 29 Messages postés vendredi 3 juin 2005Date d'inscription 8 février 2012 Dernière intervention - 10 juin 2005 à 12:10 - Dernière réponse : Florenzau 29 Messages postés vendredi 3 juin 2005Date d'inscription 8 février 2012 Dernière intervention
- 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 

Votre réponse

3 réponses

Meilleure réponse
ymca2003 2070 Messages postés mardi 22 avril 2003Date d'inscription 3 juillet 2006 Dernière intervention - 10 juin 2005 à 12:49
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);

Merci ymca2003 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de ymca2003
ymca2003 2070 Messages postés mardi 22 avril 2003Date d'inscription 3 juillet 2006 Dernière intervention - 10 juin 2005 à 12:51
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
Florenzau 29 Messages postés vendredi 3 juin 2005Date d'inscription 8 février 2012 Dernière intervention - 10 juin 2005 à 14:15
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.