опубликован 07-02-2002 14:20 MSK
Как сделать высокоточную задержку на мкс с самым высоким приоритетом, чтобы предотватить прерывания вызванные другими процессами....
есть сама функцияvoid CKPADlg::Sleep_mks(int delay)
{
signed int LoPart, HiPart;
signed __int64 x, x1;
double xyz = 0;
__asm
{
RDTSC
mov LoPart,eax
mov HiPart,edx
}
x = HiPart*4294967296 + LoPart;
while (xyz < delay)
{
__asm
{
RDTSC
mov LoPart,eax
mov HiPart,edx
}
x1 = HiPart*4294967296 + LoPart;
xyz=(x1-x)*1000000/f; // f - частота проца
}
}