Temporisation paramétrable

Résolu
Renaud974 Messages postés 15 Date d'inscription mardi 29 août 2006 Statut Membre Dernière intervention 17 novembre 2012 - 9 sept. 2006 à 18:31
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 10 sept. 2006 à 14:33
Bonjour à tous,

Débutant en vb6, je travaille sur un petit projet permettant de tester des interfaces de commande de moteurs pas-à-pas via le port parallèle.
J'utilise InPout32 pour envoyer les bits de direction et de pas au port parallèle.
Je suis à la recherche d'une méthode pour définir de façon à peu près exacte des temporisations entre mes changements d'état du bit de pas. (Histoire d'avoir une évaluation de la vitesse de rotation.)

Concrètement et idéalement, j'aurais besoin d'une boucle d'attente de 20 micro-seconde, une de 40 micro-seconde, et une paramétrable de 500 micro-seconde à 100 milli-seconde.
Non-idéalement, deux boucles à 1 milli-seconde et une autre paramétrable de 1 à 100 milli-seconde.

J'ai cherché pas mal avant de poser ma question, mais j'ai surtout trouvé des codes pour mesurer des algorithmes et les explications sont trop succintes pour me permettre l'adaptation.
 Il semblerait par ailleurs que le contrôle Timer ne soit pas adapté.

Renaud (Ile de la Réunion )

3 réponses

PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
10 sept. 2006 à 14:33
salut,
voir ce topic, çà peut peut-être t'aider...

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
9 sept. 2006 à 18:42
Si tu veux faire de la mesure, utilise l'api GetTickCount, elle te renvoie le nombre de milliseconde depuis le démarrage du système.
En faisant la différence entre le début et la fin de ton traitement tu auras la duréee de celui-ci.

Cependant en programmation VB n'espère pas trop descendre en dessous des 15 milisecondes.

Pour approcher la miliseconde faut passer en C, voire développer un (pseudo)driver C. Mais ça ce n'est pas à la portée de grand monde.

Pour tomber à la micro voire à la dizaine de nano seconde, il faut passer sur des systèmes "Temps Réel", le seul fonctionnant sous Windows étant Ardence Rtx.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
Renaud974 Messages postés 15 Date d'inscription mardi 29 août 2006 Statut Membre Dernière intervention 17 novembre 2012
9 sept. 2006 à 19:37
Salut,

je me suis mal exprimé, je ne veux pas faire de la mesure, je veux juste "attendre" 1 ms (par exemple) avant de poursuivre le programme, mais en paramétrant à peu près le temps d'attente (même si c'est 15 ms).

Renaud.
0
Rejoignez-nous