Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать задержку? [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. А цель какая?


Наверх

Титульная страница Поиск, карта сайта Написать письмо