Renaud974
Messages postés15Date d'inscriptionmardi 29 août 2006StatutMembreDernière intervention17 novembre 2012
-
9 sept. 2006 à 18:31
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDerniè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é.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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 #
Renaud974
Messages postés15Date d'inscriptionmardi 29 août 2006StatutMembreDernière intervention17 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).