Автор
|
Тема: Малые интервалы времени (<1мс) ???
|
AD |
опубликован 26-08-2001 03:07 MSK
Для опроса устройства ввода-вывода (самоделка на ISA АЦП+ЦАП) програмно нужно _точно_ определять интервалы времени(<1мс), подскажите pls варианты кроме Sleep() и ftime.
|
server_mouse
|
опубликован 26-08-2001 00:54 MSK
Vxd (VDM) Перехватываешь 08h, перепрограммируешь таймер, возможно контроллер прерываний и пользуешь. Других вариантов не знаю. Если пользовать обычное приложение, то винда всё равно будет пакостить переключением задач и т.д. А так, делаешь cli и погнал... |
m_fox
|
опубликован 28-08-2001 16:32 MSK
Ага, даже NT не является системой реального времени. Лучше QNX |
jerry
|
опубликован 30-08-2001 16:46 MSK
Даю наводку - попробуй поискать по QueryPerformanceCounter. Достаточно навороченнный таймер. Событий наружу не выдает, но измерять временные интервалы может очень точно. Конкретное значение частоты этого счетчика свое на каждой машине (операционке). У меня наблюдалось ~10нс.J. |
server_mouse
|
опубликован 30-08-2001 18:06 MSK
2m_fox Что ты имеешь в виду? |
m_fox
|
опубликован 30-08-2001 19:20 MSK
Что имею, то и введу :) Я помнил около 8 причин, почему WinNT не может являться жесткой системой реального времени. Одна, из самых тупых: у системной ф-ции выделения памяти есть флаг fixed или что-то подобное. так вот, WinNT может произвольно эту память в своп кинуть. какая уж тут СРВ. завтра поищу статью про это. там описано и про приколы при обращении к устройствам и про прерывания. |
m_fox
|
опубликован 31-08-2001 11:15 MSK
Вот, если кому инересно: http://athena.vvsu.ru/~kiv/nt.htm |