системное время

Тема в разделе "WASM.WIN32", создана пользователем KokS, 3 мар 2006.

  1. KokS

    KokS New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2006
    Сообщения:
    1
    Здравствуйте.

    Столкнулся со следующей проблемой:

    необходимо определять системное время с точностью по крайней мере 1мс.

    Использую функцию KeQuerySystemTime. Она само собой возвращает количество 100нс отсчетов. Вот только беда: обновляется это значение 1 раз в 10мс (по DDK Documentation). А на практике это число получилось почему-то 15625мкс (могу немного ошибиться).

    Подскажите пожалуйста как увеличить частоту обновления системного времени.
     
  2. netex

    netex New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2005
    Сообщения:
    114
    Адрес:
    Russia
    Советую использовать таймер, он же i8253.

    Канал 2 можно использовать для подачи гудка из системного динамика, а можно просто как счетчик.

    Импульсы на таймер идут с частотой 1,19 Мгц.

    Ставь нужный делитель частоты на канал 2 и читай из регистра счетчика сколько там натикало.

    А функции ОС не сильно отвечают real-time задачам.
     
  3. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    берешь микросхему cmos, отчитываешь с помощью её секунду, и в этом интервале считаешь количество тиков процессора, затем делишь это значение на штуку, получается число тиков проца равное твоей милисекунде+ погрешность, =~1500 Гц, усредняешь, и получаешь свой точный таймер.

    [​IMG] 1844008529__CPU.h