Здравствуйте. Столкнулся со следующей проблемой: необходимо определять системное время с точностью по крайней мере 1мс. Использую функцию KeQuerySystemTime. Она само собой возвращает количество 100нс отсчетов. Вот только беда: обновляется это значение 1 раз в 10мс (по DDK Documentation). А на практике это число получилось почему-то 15625мкс (могу немного ошибиться). Подскажите пожалуйста как увеличить частоту обновления системного времени.
Советую использовать таймер, он же i8253. Канал 2 можно использовать для подачи гудка из системного динамика, а можно просто как счетчик. Импульсы на таймер идут с частотой 1,19 Мгц. Ставь нужный делитель частоты на канал 2 и читай из регистра счетчика сколько там натикало. А функции ОС не сильно отвечают real-time задачам.
берешь микросхему cmos, отчитываешь с помощью её секунду, и в этом интервале считаешь количество тиков процессора, затем делишь это значение на штуку, получается число тиков проца равное твоей милисекунде+ погрешность, =~1500 Гц, усредняешь, и получаешь свой точный таймер. 1844008529__CPU.h