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

Visual C++ Discussion :

Gestion goutte � goutte via port parall�le


Sujet :

Visual C++

  1. #1
    Membre habitu�
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 10
    Par d�faut Gestion goutte � goutte via port parall�le
    Bonjour,

    Je veux faire des photos de gouttes d'eau via une interface parall�le. je cherche a photographier la collision de deux gouttes.
    j'utilise un code de ce type, en utilisant un "sleep" pour d�terminer l'impulsion de commande de la vanne et de l'apn

    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
    //premiere goutte
    //ouverture vanne        
            data = 2;	WriteFile(hPort, &data, sizeof(data), &dw, NULL);
    	Sleep(t1);
     
    // fermeture vanne
    	data = 0; WriteFile(hPort, &data, sizeof(data), &dw, NULL);
    	Sleep(t2);
     
    // deuxieme goutte 
     ... meme code que premiere gouute
     
    // declence APN
    	data = 1;  WriteFile(hPort, &data, sizeof(data), &dw, NULL);
    	Sleep(t0);
    	data = 0; WriteFile(hPort, &data, sizeof(data), &dw, NULL);
    �a marche, mais la manip n'est pas "r�p�table"
    Y a-t-il un moyen, sous Windows 7, d' am�liorer la cette manip.?
    Je ne comprend pas comment utiliser un timer pour mieux g�rer cette manip?

    peut �tre que windows7 n'est pas assez pr�cis pour ce genre de manip.
    merci d'avance pour vos r�ponses
    robert

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Windows, comme tous les OS g�n�raliste, n'est pas temps r�el.

    Le Sleep lib�re le CPU pour une autre t�che, mais ne garanti en rien que le thread reprendra la main une fois le temps �coul�.

    Si vos contraintes de pr�cision ne sont pas �norme et que votre machine n'est pas trop charg�, les timers multim�dia peuvent peut-�tre faire l'affaire.
    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

    Sinon, on peut toujours faire la strat�gie de la mitrailleuse � images et utiliser des outils de reconnaissances pour faire le tri dans les images prises.

  3. #3
    Membre habitu�
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 10
    Par d�faut
    merci pour la r�ponse.

    par contre j'ai un probl�me pour utiliser les timers multimedia
    je n'arrive pas a enchainer deux timers
    eg:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // action 1
    // ouvrir la vanne pendant X ms
    // open_valve
    send 1 sur LPT1
    wait X ms ;
    //close vanne ;
    send 0 sur LPT1
     
    wait Yms
     
    // declencher l'apn pendant Y Ms
    send 2 sur lpt1
    wait Y ms
    send 0 sur lpt2
    etc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    //Le premier wait marche bien
    hTimerQueue = CreateTimerQueue();
    CreateTimerQueueTimer(&hTimer, hTimerQueue, (WAITORTIMERCALLBACK)TimerRoutine, &arg, 100, 0, 0))
     
    // fin timer 
    WaitForSingleObject(gDoneEvent, INFINITE)
    ??

    Faut il d�truire le timer pour le recr�er avec un autre d�lais ?
    je ne comprends pas comment enchainer tout �a ?
    robert






    robert

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503

Discussions similaires

  1. Commande moteur pas � pas via port parall�le
    Par -N4w4k- dans le forum Robotique
    R�ponses: 9
    Dernier message: 05/04/2012, 00h00
  2. R�ponses: 0
    Dernier message: 27/03/2010, 13h16
  3. gestion du port parall�le
    Par zwejdi dans le forum VB 6 et ant�rieur
    R�ponses: 9
    Dernier message: 09/01/2007, 10h55
  4. Gestion du port parall�le sous 2000
    Par kardex dans le forum VB 6 et ant�rieur
    R�ponses: 11
    Dernier message: 05/01/2006, 19h47

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