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

MFC Discussion :

Timeout d'un Handle


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    25
    D�tails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 25
    Par d�faut Timeout d'un Handle
    Bon alors, je communique avec un SUBD9, en RS232. J'ai cr�� la communication a l'aide d'un HANDLE. Celui ci est g�r� avec des CreateFile, et fonctionne avec WriteFile et ReadFile.

    Mon pb est le suivant : Je voudrais savoir quand mon cable serie est debranch� a l'arrache, donc je cherche a capter si le timeout de la connexion est depass�. Or je trouve pas... lol

    Le timeout est initialis� lors de la creation du handle.

    D'avance merci

  2. #2
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Une fois le timeout r�gl� avec SetCommTimeouts, il faut tester le nombre d'octets lu par ReadFile. Si c'est zero / moins que ce qui est attendu c'est qu'il y a eu timeout.

  3. #3
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    25
    D�tails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 25
    Par d�faut
    bon j'ai trouv� la reponse sur un site, dont j'ai reperdu l'adresse lol

    en effet il faut bien regler le Timeout du handle, mais il faut donner le temps a la connexion RS232 de respirer de traiter la requete donc entre l'emission et la reception des donn�es, il faut faire un Sleep. Pour calculer le temps necessaire, il y a une regle, qui marche pour la communication SUBD9 en RS232.
    Je vous file le code de la fonction de calcul du temps a donner a la connexion :

    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
     
    //////////////////////////////////////////////////////////////////////
    // Calculate the transfert time needed for inverter to interpret
    // request (DIN66019-II only)
    DWORD CDIN66019::TransTime(int lg, int write, int BaudRate)
    {
    	// Reading
    	if(write == 0)
    	{
    		if (BaudRate == 1200) return DWORD(((lg+13)*10*5)/6)+7;
    		if (BaudRate == 2400) return DWORD(((lg+13)*10*5)/12)+7;
    		if (BaudRate == 4800) return DWORD(((lg+13)*10*5)/24)+7;
    		if (BaudRate == 9600) return DWORD(((lg+13)*10*5)/48)+7;
    		if (BaudRate == 19200) return DWORD(((lg+13)*10*5)/96)+7;
    		if (BaudRate == 38400) return DWORD(((lg+13)*10*5)/192)+7;
    		if (BaudRate == 57600) return DWORD(((lg+13)*10*5)/288)+7;
     
    	}
    	// Writing
    	else {
    		if (BaudRate == 1200) return DWORD(((lg+3)*10*5)/6)+7;
    		if (BaudRate == 2400) return DWORD(((lg+3)*10*5)/12)+7;
    		if (BaudRate == 4800) return DWORD(((lg+3)*10*5)/24)+7;
    		if (BaudRate == 9600) return DWORD(((lg+3)*10*5)/48)+7;
    		if (BaudRate == 19200) return DWORD(((lg+3)*10*5)/96)+7;
    		if (BaudRate == 38400) return DWORD(((lg+3)*10*5)/192)+7;
    		if (BaudRate == 57600) return DWORD(((lg+3)*10*5)/288)+7;
    	}
    	return DWORD(50);
    }
    Ou lg est le nombre de bytes envoy�s, write un bool pour renseigner si l'on ecrit/ lit sur le materiel et baudrate, la vitesse de transfert.

    Voili voilo

Discussions similaires

  1. R�ponses: 5
    Dernier message: 05/07/2003, 11h52
  2. Manipulation des handle contexte
    Par rockbiker dans le forum DirectX
    R�ponses: 1
    Dernier message: 09/05/2003, 18h51
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    R�ponses: 7
    Dernier message: 29/10/2002, 08h45
  4. pb de r�cup de handle � partir d'une dll
    Par yokito dans le forum Langage
    R�ponses: 2
    Dernier message: 20/08/2002, 12h29
  5. pb de handle en C
    Par deedje dans le forum C
    R�ponses: 3
    Dernier message: 21/06/2002, 16h19

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