Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Xitri
Зарегистрирован: 08.04.2005 Сообщения: 2
|
Добавлено: Пт Апр 22 2005 01:43 Заголовок сообщения: Маленькая задержка |
|
|
Как организовать в си маленькую задержку (1-15мкс)под Винду или как вариант под Дос.
Может через таймер как нибудь?
Помогите кто чем может пожалуйста. |
|
Вернуться к началу |
|
|
Витал
Зарегистрирован: 09.08.2004 Сообщения: 73
|
Добавлено: Пт Апр 22 2005 07:55 Заголовок сообщения: |
|
|
цикл определенный повешай,или не поиню точно - delay(n) |
|
Вернуться к началу |
|
|
kolobok0
Зарегистрирован: 22.04.2005 Сообщения: 253 Откуда: Мсква
|
Добавлено: Пт Апр 22 2005 10:28 Заголовок сообщения: Задержка... |
|
|
Под винды - вся бяка в том, что операционка с заявками на многопоточность (и процессорность) - посему ваши микрозадержки будут с такой погрешностью, которая превысит само значение . В DOSе - я бы заблокировал прерывания (аппаратные и программные) ну и почитал бы значения из 8253 - PIT который. Данная метода у старика Джордена описана.
При общении с переферией - там выползает другая необходимость. Если Вы пошлёте две подряд команды в порт (к примеру), то для внешних устройств (а они тактируються со скоростью шинки) возможна выборка кристаллов (чип селектов - CS) после декодировки адреса, сигналами обращения к портам, и прочей лабуды; - с ОЧЕНЬ большой скоростью. т.е. За один такт разрешения (не путать со стробом) - два и более обращения. Ессесвенно со скоростью проца (или близкой к оной). Ну далее понятно декодировка и прочая рассыпуха (схематическое решение может быть разным) отработает (у неё как правило скорострельность протаскивает). А вот что нить типа 8255 - Вы попали Посему после каждого чиха в порт ставят инструкцию типа jmp $+2 что воспринимаеться конвеером предвыборки команд проца как переход в новый кусок - и посему скорость следующего шага падает, что в свою очередь уже не может попасть в один такт разрешение шинки.
Простите за растекание древом по мысли.
С уважением
(круглый) _________________ (круглый) |
|
Вернуться к началу |
|
|
DmitryShm
Зарегистрирован: 17.11.2003 Сообщения: 211 Откуда: Казань
|
Добавлено: Ср Апр 27 2005 17:08 Заголовок сообщения: Поищи .. |
|
|
Почитай в доках по WinAPI. Точно не знаю где (т.к. очень давно этим занимался) , но в каждой доке должны описываться функции подобного рода. Там что от типа Delay для конкретного процесса (или даже для его потоков) должен описываться. Поищи -- там, кажется, точно такое есть. _________________ love IT |
|
Вернуться к началу |
|
|
tinimi
Зарегистрирован: 27.03.2005 Сообщения: 90 Откуда: Win32
|
Добавлено: Ср Апр 27 2005 21:39 Заголовок сообщения: |
|
|
Попробуй в Кулибе посмотреть(Kuliba), там хоть и под делфу, но для винды там про таймер есть для маленьких значений.
Или попробуй немного переформировать задачу.
Вообще, что конкретно нада? _________________ [ TiNiMi ] |
|
Вернуться к началу |
|
|
holster
Зарегистрирован: 22.04.2005 Сообщения: 1
|
Добавлено: Ср Май 04 2005 19:55 Заголовок сообщения: |
|
|
Курение вызывает старение кожи. В Европе люди меньше курят! Иммиграция в европейские страны: http://cernis.cz |
|
Вернуться к началу |
|
|
|