Temporisation précise à la miliseconde

bluelambda Messages postés 11 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 26 avril 2005 - 12 août 2004 à 18:41
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016 - 12 août 2004 à 23:14
Avec un collègue on développe un petit programme en VB pour piloter un robot (bras mécanique).

On a besoin d'utiliser des temporisations précises à la miliseconde pour piloter les moteurs pas-à-pas.

On a essayé avec les Timers de VB, mais il s'avère qu'ils ne sont pas précis du tout (aucune différence entre 10 ms et 1 ms...).

Quelqu'un sait comment on pourrait s'y prendre ?

10 réponses

Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
12 août 2004 à 18:52
Oui ...
Utilise un Waitable Timer ...

C top de chez top ...

A+
Afyn
0
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
12 août 2004 à 18:56
Au fait ...
http://www.vbfrance.com/code.aspx?ID=17608

Ca peut servir !

Afyn
Si tout les cancres du monde pouvaient se donner la main.
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
12 août 2004 à 19:07
Heu...
Je crois que le Waitable Timer en vb c comme le timer (g essayé les 2).
Il ne fait pas de diff entre 1ms et 10 ms. En fait c arrondi à 10ms. Ex : 1 à 14 ms 10 ms, 15 à 24 20ms, etc ...........

Le C serait plus approprié pour votre projet voir : www.cppfrance.com.

Cordialement

CanisLupus
0
bluelambda Messages postés 11 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 26 avril 2005
12 août 2004 à 19:26
On ne sais pas programmer en C (ou alors très peu).

Quelqu'un ici aurait l'aimabilité de nous coder un petit dll de temporisation en C ? Qu'on appelerai ensuite dans notre programme VB...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
12 août 2004 à 20:29
Il y a une autre piste, le Multimedia Timer, mais je n'ai pas encore eu le temps de tester.

Des infos et sources [ICI http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_multimedia_timers.asp]

et [LA http://www.vbaccelerator.com/home/VB/Code/Libraries/HiResTimer/article.asp]

Cordialement

CanisLupus
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 août 2004 à 20:33
Faudra meme un peu d'ASM pour arriver sous les 10 ms.
bluelambda>
Regarde ici comment j'ai controlle 125 ms, faut suivre le principe.
http://www.asmfr.com/code.aspx?id=23802

ciao...
BruNews, Admin CS, MVP Visual C++
0
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
12 août 2004 à 22:20
Ben vous etes pas futés ...
Puiske je vous ai donné le code source ...
Au moins essayez le plutot que de dire des bétises ...
Hum...!

Allez a plus ...

Afyn
0
bluelambda Messages postés 11 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 26 avril 2005
12 août 2004 à 22:37
T'inquiète pas on est en train de l'essayer et de l'adapter ton code source ;)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
12 août 2004 à 22:50
ben, si ça convient à bluelambda c tant mieux mais je ne retire pas ce que j'ai écrit avant.

Cordialement

CanisLupus
0
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
12 août 2004 à 23:14
Oui ... canis t'as raison ... sauf que ... le MMTimer est plus vieux comme techno et plus gourman en ressources ...
(Et puis l'astuce n'est pas là ...)
M'enfin ... vous me tiendrez au jus ...

Bonne prog !

Le plaisir était pour moi.

Afyn
0
Rejoignez-nous