Страница: 1 | 2 |
Вопрос: Как программно организовать задержку в 0,25ms
Добавлено: 06.01.06 10:17
Автор вопроса: Andr
Как программно организовать задержку в 0,25ms?
Ответы
Всего ответов: 18
Номер ответа: 1
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #1
Добавлено: 06.01.06 11:20
Если гарантированно - никак.
Если на vb - никак.
Наиболее близко - определить частоту процессора, посчитать период одного такта и выполнить некоторое количество инструкций, для которых суммарное количество тактов на их выполнение равно 250 мкс.
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 06.01.06 14:49
Что тебе это даст? У мя например на моём ЖК токо матрица 25 мс. ну пускай на трубке чуть бычтрее реагируют, но 0,25 ms )) как ??? зачем???
Номер ответа: 3
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #3
Добавлено: 06.01.06 15:33
А при чём тут твой ЖК? Или ЭЛТ?
Может надо в порт выводить данные с определенной частотой.
Номер ответа: 4
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #4
Добавлено: 06.01.06 15:45
мс.
Hint: не все программеры делают игры, некоторые и нужными делами
занимаются.
Номер ответа: 5
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #5
Добавлено: 06.01.06 15:45
вопрос неточно сформулирован.
может надо задержку в программе?
тогда Sleep 0.25
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 06.01.06 16:07
занимаются.
И всётаки интересно, для какой действительно цели, нужна такая маленькая задержка...
Номер ответа: 7
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #7
Добавлено: 06.01.06 22:48
если это в цикле, то можно каждые 4 повтора делать задержку в 1 мс...
а вообще то время поддерживается в 100 наносекундных интервалах, так что как то можно
Номер ответа: 8
Автор ответа:
«UL.eXe»
ICQ: 197.895.916.247
Вопросов: 72
Ответов: 540
Профиль | | #8
Добавлено: 06.01.06 23:12
2 hacker хватит праздновать..
Номер ответа: 9
Автор ответа:
Andr
Вопросов: 3
Ответов: 7
Профиль | | #9
Добавлено: 07.01.06 02:35
Помню, делал такое для i8080,..ВЕ48,8051 и т.д. на стендах, на ассемблере(лет десять тому ..).Сейчас хотелсь бы сделать такой стенд (эмулятор MCS51, AVR, ARM..)на базе винды. Понимаю сам,что при помощи языка в.у.,типа VB врятли что получится с этой задержкой!(такт записи байта во внешний регистр через LPT),а 250us это так..мах. нужно меньше! полюбому нужен ASM или может С.Если знаешь как,подсоветуй на avglab@ukr.net. Благодарю.
Номер ответа: 10
Автор ответа:
Andr
Вопросов: 3
Ответов: 7
Профиль | | #10
Добавлено: 07.01.06 02:41
Помню, делал такое для i8080,..ВЕ48,8051 и т.д. на стендах, на ассемблере(лет десять тому ..).Сейчас хотелсь бы сделать такой стенд (эмулятор MCS51, AVR, ARM..)на базе винды. Понимаю сам,что при помощи языка в.у.,типа VB врятли что получится с этой задержкой!(такт записи байта во внешний регистр через LPT),а 250us это так..мах. нужно меньше! полюбому нужен ASM или может С.Если знаешь как,подсоветуй на avglab@ukr.net. Благодарю.
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 07.01.06 04:01
Нии... боже упаси! Кока-кола форевер!
Номер ответа: 12
Автор ответа:
Andr
Вопросов: 3
Ответов: 7
Профиль | | #12
Добавлено: 07.01.06 04:47
Насчет ASM - подумаю и насчет С тоже.. Нах. задержка ЖК и игры - это все х-ня, нужен строб не более 0,25ms на линии "STROBE" (выв.1 LPT порта) для записи байта формируемого в регистре по аддддддресу 378 (или 888,если dec), при этом линии (INIT,SELINIT порта 37A) должны формирвать адрес одного из четырех внешних регистров.
Напр. записать Н55 во внешний регистр 2:
1.Записать в порт 378 значение Н55
2.Записать в порт 37А значение Н0А
3.!Выдержать задержку для записи!
4.Изменить значение порта 37А Н0А на Н03
5.Обнулить порт 378
Так что эт задержка пыздэц как мне необходима.
Номер ответа: 13
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #13
Добавлено: 07.01.06 06:57
а как насчёт задержки хотябы 1 мс? почему именно 0,25 ?
Номер ответа: 14
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #14
Добавлено: 07.01.06 09:30
Могу посоветовать SetPriorityClass c REALTIME_PRIORITY_CLASS и SetThreadPriority c THREAD_PRIORITY_TIME_CRITICAL, а в программе цикл с RDTSC и предварительно рассчитанной частотой проца - даже ядро реалтаймовой оси не обеспечит тебе такой латентности.
Номер ответа: 15
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #15
Добавлено: 07.01.06 12:13
Andr
Возьми Kmd3 или KmdKit на wasm.ru, посмотри в примерах бипер: там выводится в порт спикера звук, частота которого (и соответственно период) задаются программно. 250 мкс - это 4 кГц, такой звук формируется без проблем.