Wait, timer, sleep d'environ 10 nano-secondes

cs_groben
Messages postés
11
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
22 novembre 2005
- 9 nov. 2005 à 11:14
jlen100
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
- 9 nov. 2005 à 15:18
Pour une application qui fait de l'acquisition de données,
j'ai besoin d'attendre pendant une période de 12 ns exactement pendant une boucle de 2^20 itérations...
en utilisant la fonction sleep, le minimum est de 1000 ns (1 milisec) ce qui donne un temps fou pour le parcours de la boucle !

Attention, je ne peux programmer qu'avec Delphi 2.0 (& oui, ce n'est pas une boite d'informatique dans laquelle je fais mon stage ;-) , donc je vous remercie de ne pas trop me proposer de fonctions compatibles avec Delhi 5.1 et +...

PS :
Ce site est très bien fait : ne connaissant que le C, j'ai pu m'initier assez facilement à Pascal & Delphi en 2 mois grâce à vous tous !
Merci

5 réponses

jlen100
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
9 nov. 2005 à 11:54
salut

pour un temps d'attente de 12ns je ne vois guere autre chose qu'une
boucle for do (et à condition d'avoir un PC assez rapide!! je doute que
tu puisse descendre ausi bas sans passer par l'assembleur.

à mon avis il faudra passer par un carte d'acquition rapide.

essaie quand même cela.

var i:integer



for i:=0 to temps do begin end;



tu calibres temps à l'ouverture de l'application:

T:=time;

for i:=0 to 100000000 do ;

DT:= MilliSecondOfTheSecond(time-T);

choisis une boucle assez importante pour avoir une bonne precision.

bonne prog

@+

jlen
0