![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать задержку? [D6, WinME]
Новичок © (2003-01-28 11:10:00)Как сделать задержку между двумя событиями с точностью до 1 мсек (кроме Timer)?
Dms (2003-01-28 13:26:00) [1]
> Новичок (28.01.03 11:22)
> Мне нужно на LPT подавать сигнал с точно вымеренным периодом.
При чем тут "события", о которых вы все говорите ? Тут все проще ...
han_malign (2003-01-28 13:14:00) [2]Под Windows можно гарантировать, что задержка не меньше заданной, а максимальная задержка, в некоторых случаях, может быть до 30 секунд(при опросе сети например), и никак ты раньше событие не получишь, только в HAL на прерывании специального устройства...
Anatoly Podgoretsky (2003-01-28 13:04:00) [3]Нет это абсолютная неточная задержка, а точная у REA © (28.01.03 11:25)
MBo (2003-01-28 13:03:00) [4]>smok_er
померить промежуток можно, точно задать интервал до вызова события - НЕЛЬЗЯ.
smok_er (2003-01-28 13:00:00) [5]Согласен, но самая точная задержка -
см. smok_er (28.01.03 11:16)
MBo (2003-01-28 12:57:00) [6]>задержку между двумя событиями с точностью до 1 мсек
в Windows сделать невозможно.
Dms (2003-01-28 11:35:00) [7]Может достаточно будет использовать
Sleep(число мс);
:)
REA (2003-01-28 11:25:00) [8]Сделай лучше железячку на маленьком и дешевом контроллере типа атмел - лучше будет работать.
Новичок (2003-01-28 11:22:00) [9]Мне нужно на LPT подавать сигнал с точно вымеренным периодом.
smok_er (2003-01-28 11:16:00) [10]Есть апишные функции
QueryPerformanceCounter и
QueryPerformanceFrequency
Подробности в Windows SDK
REA (2003-01-28 11:14:00) [11]Лучше конечно использовать RTOS - QNX например, хотя и линукс наверно сойдет. А так - можно только надеяться, что кто-нибудь не отожрет время. Маячок: в объектах синхронизации есть CreateWaitableTimer (NT) и в отдельном потоке WaitForSingleObject. А цель какая?