[an error occurred while processing this directive] [an error occurred while processing this directive]
Ну, если любитель Pascal, то (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Юрий 26 апреля 2002 г. 20:02
В ответ на: У меня Windows 98 - там в реестре нет подпункта MHz :-((( отправлено Беня 26 апреля 2002 г. 19:50

для определения частоты CPU использован алгоритм:
CPU Speed 1.0, Copyright (c) 1998 Erik Salaj, erik@dodo.sk


PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);

SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);

Sleep(10);
asm
dw 310Fh
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;

SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);

Speed := TimerLo / (1000.0 * DelayTime);
fProcSpeed:= Format('%f MHz', [Speed])

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru