salut
j'ai fait une fonction qui attend 60µs
le seul pb c'est que pendant le temps d'attente le CPU bosse à 100%
si qqn sait comment soulager cette charge !!
oubliez Sleep et NtDelayExecution car la précision de ces fonction est au maximum de 976,6 ms
merci
// Wait for some µs // Warning : this function eat CPU time ! void udelay(unsigned int delay) { unsigned __int64 nCtr=0, nFreq, nCtrStop;
QueryPerformanceFrequency((LARGE_INTEGER*)&nFreq); QueryPerformanceCounter((LARGE_INTEGER*)&nCtrStop); nCtrStop+=(__int64)((nFreq*(__int64)(delay-3))/1000000); for(;nCtr<nCtrStop;) { _asm rep nop QueryPerformanceCounter((LARGE_INTEGER*)&nCtr); } return; }
|