Как запрограммировать таймер?

Тема в разделе "WASM.BEGINNERS", создана пользователем fireman, 17 авг 2011.

  1. fireman

    fireman New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2008
    Сообщения:
    39
    Как запрограммировать таймер, так чтобы он срабатывал с интервалом 1 мс а не 55 мс?
    Если не примеров, то хотя бы направление куда копать? :)
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.880
    fireman
    Если речь идет о программировании под DOS'ом то цитирую Джордейна (Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT.— М.:Финансы и статистика, 1987.— 544 с. )
    Код (Text):
    1. ;установка регистров ввода/вывода
    2. MOV AL,001101110b   ;установка битов для канала 2
    3. OUT 43h,AL      ;засылка в командный регистр
    4. ;посылка счетчика в задвижку
    5. MOV AX,1193     ;счетчик для 100 импульсов/с
    6. OUT 42h,AL  ;посылка младшего байта в канал 2
    7. MOV   AL,AH       ;готовим для посылки старший байт
    8. OUT 42h,AL  ;посылка старшего байта в канал 2
    9. . . .           ;запускаем процедуру измерения
    10. . . .;восстанавливаем значение счетчика
    Под WinXP это работать, естественно, не будет
     
  3. Dmitry_Milk

    Dmitry_Milk Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    540
    Под WinXP можно использовать таймеры высокого разрешения из mmsystem.dll: timeSetEvent, timeKillEvent, timeBeginPeriod, timeEndPeriod.
     
  4. fireman

    fireman New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2008
    Сообщения:
    39
    Мне не для ХР, но для РМ :)
    А какие дисковые операции подразумеваются? Флопик?
    У меня на Хард свой обработчик, а таймер нужен с точность 1 мсек!