|
0 / 0 / 0
Регистрация: 28.12.2008
Сообщений: 5
|
|
Задержка в микроседундах14.01.2009, 19:55. Показов 76619. Ответов 20
Метки нет (Все метки)
0
|
|
| 14.01.2009, 19:55 | |
|
Ответы с готовыми решениями:
20
While и задержка Задержка :-) Задержка |
|
684 / 233 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
|
||||||
| 14.01.2009, 20:33 | ||||||
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.12.2008
Сообщений: 5
|
|
| 14.01.2009, 20:40 [ТС] | |
|
0
|
|
|
32 / 32 / 4
Регистрация: 29.12.2008
Сообщений: 75
|
||||||
| 14.01.2009, 20:42 | ||||||
|
При программировании в Windows помогает API-функция Sleep.
Заголовочный файл winbase.h Синтаксис void Sleep(DWORD dwMilliseconds); DWORD SleepEx(IN DWORD dwMilliseconds, IN BOOL bAlertable); Однако под DOS и консольных приложений я таких функций не знаю. Может помочь следующее (я проверял на консоле в Borland С++ Builder 6).
Программа запрашивает системное время до входа в цикл и при каждом повторении цикла. Как только эти значения станут отличаться на 3 сотых секунды (30 милисекунд), произойдет выход из цикла.
0
|
||||||
|
0 / 0 / 0
Регистрация: 28.12.2008
Сообщений: 5
|
|
| 14.01.2009, 20:50 [ТС] | |
|
Ну дык это тоже МИЛЛИсекунды.
0
|
|
|
Флудер
195 / 33 / 11
Регистрация: 23.03.2007
Сообщений: 334
|
|
| 14.01.2009, 21:18 | |
|
для нано и микро секундных задержек используется либо мультимедиа таймер из winmm, либо ассемблерная инструкция rdtsc (количество тиков).
если нужно позже прикреплю модули для калибровки и задержек этими способами
0
|
|
|
32 / 32 / 4
Регистрация: 29.12.2008
Сообщений: 75
|
|
| 14.01.2009, 21:28 | |
|
При программировании в Windows столь короткие задаржки ты никогда не сделаешь. Там даже таймеры рекомендуют для большой точности брать с интервалом в 2 секунды (не меньше), хотя документально они обеспечивают милисекундную точность.
Если работаешь напрямую с процессором (на ассемблере), старайся считать количество тактов, затраченное навыполнение какой-то конкретной операции. Иного пути я не знаю.
0
|
|
|
0 / 0 / 0
Регистрация: 28.12.2008
Сообщений: 5
|
|
| 14.01.2009, 21:31 [ТС] | |
|
Понял,спасибо,буду думать как обойтись без задержек.
0
|
|
|
Флудер
195 / 33 / 11
Регистрация: 23.03.2007
Сообщений: 334
|
|
| 14.01.2009, 21:48 | |
|
нормально все реализуется нечего глупости говорить.
например у Щупака в книге все отлично описано
0
|
|
|
Флудер
195 / 33 / 11
Регистрация: 23.03.2007
Сообщений: 334
|
|
| 15.01.2009, 11:38 | |
|
см. вложение
2
|
|
|
684 / 233 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
|
|
| 16.01.2009, 18:05 | |
|
Можно использовать заднржку милисекунду,микро даже не даст результат
0
|
|
|
Флудер
195 / 33 / 11
Регистрация: 23.03.2007
Сообщений: 334
|
|
| 16.01.2009, 19:05 | |
|
2Mecid
никаких проблем во вложений модули позволяют делать микро задержки
0
|
|
|
32 / 32 / 4
Регистрация: 29.12.2008
Сообщений: 75
|
|
| 16.01.2009, 20:11 | |
|
Очень не хотелось бы, чтобы мой вопрос выглядел как провокационный, но все же.
Уважаемый Ensase, откуда вы знаете, что получаются именно задаержки в 30 микросекунд. Вы их точно измеряли, или доверились Щупаку? Я уже говорил выше, что подсчет количества тактов микропроцессора - самый оптимальный способ организовать столь малые задержки. Вы же, в подтверждение этих слов представили примеры кода. За что вам огромное спасибо. Однако обеспечится ли реально для многопроцессной системы Windows задержка именно в 30 микросекунд. Если вы уверены в этом, расскажите, пожалуйста, каким образом вам удалось обнаружить столь короткую задержку (если, конечно, это не секрет)? P.S. Я уже рассказывал о таймерах, которые считают с точностью до милисекунд, но на практике минимальный интервал, который имеет смысл задавать для них - это полсекунды, а самая лучшая синхронизация с реальным временем достигается, когда их интервал равен 1 - 2 секундам (в зависимости от количества одновременно выполняющихся в Windows процессов).
1
|
|
|
Флудер
195 / 33 / 11
Регистрация: 23.03.2007
Сообщений: 334
|
|
| 16.01.2009, 21:32 | |
|
при программировании спектрометра работал с ацп и шаговым двигателем практически в реальном времени (с высоким приоритетом) задержки после пересчета составляют даже менее 30 микро.
хотя, разумеется ввиду того что windows os не реального времени приходилось следить за загрузкой цп пользовался схемой с использованием rdtsc
0
|
|
|
0 / 0 / 0
Регистрация: 22.01.2009
Сообщений: 6
|
||
| 23.01.2009, 18:16 | ||
|
посмотри https://www.cyberforum.ru/delp... l?posted=1
будем бороться вместе. Добавлено через 18 часов 34 минуты 17 секунд Нельзя ли поподробнее - 1. какой наикоротейшей задержки удалось добиться 2. тесты может выложишь в ехе? 3. и можешь ли сделать таймеры в осх компоненты?
0
|
||
|
Hansik
|
|
| 04.02.2009, 19:54 | |
|
Тоже столснулся с рпоблемой таймера, правда на VB... Можно узнать хотя бы результаты теста?
|
|
|
Флудер
195 / 33 / 11
Регистрация: 23.03.2007
Сообщений: 334
|
|
| 05.02.2009, 06:25 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 22.01.2009
Сообщений: 6
|
|||||||
| 17.02.2009, 12:52 | |||||||
|
вот тут походая тема разбирается, правда на дельфи.
[ Системный таймер и частота процессора"] [/URL] Добавлено через 30 минут 34 секунды ... правда сам я оттуда мало что понял. .... нужно, похоже, осваивать альтернативные языки програмирования. хотя алгаритм понятен, но вот потоки.... ![]() Добавлено через 23 часа 5 минут 50 секунд может, кто в дельфе сечёт сможет скомпилировать осх-файл под дельфи из [ Системный таймер и частота процессора"] ... по аналогии с vb вроде когда класс готов - всего-то нужно нажать <Создать ActiveX> и скопировать туда класс, да присоединить иконку. вроде как всё. Добавлено через 13 минут 36 секунд вот читата оттуда: последний рывок.. функции разобраны, отлажены. сделан вариант через поток, все оформено в компоненту.. дело за малым: нужно сделать редактор потоков через TCollection, чтобы каждому потоку задавались свои параметры. никогда с таким не работала, не совсем представляю как это выглядит (т.е как выглядить знаю, как это туда запихнуть не совсем понятно))
0
|
|||||||
|
0 / 0 / 0
Регистрация: 20.06.2015
Сообщений: 2
|
|
| 30.03.2013, 17:10 | |
|
В C++ Builder'е задержку можно реализовать несколькими способами:
1. функция sleep() - приостанавливает программу на целое число секунд (подключаемая библиотека dos.h); 2. функция delay() - приостанавливает программу на целое число милисекунд. Работает только в Borland C++ 3.1 (подключаемая библиотека dos.h); 3. функция Sleep() - приостанавливает программу на целое число милисекунд (подключается заголовочным файлом windows.h). Работает как в консольных приложениях, так и в приложениях с формами. 4. и самый интересный вариант, самописная не документированная конструкция: int time=GetTickCount(); while((GetTickCount()-time)<1000) // 1000 - число милисекунд задержки { } Источник: Недоблог быдокодера
0
|
|
|
|
||||||
| 30.03.2013, 17:44 | ||||||
|
А что никто не упоминает о chrono?
Не по теме: не увидел что тема давняя, тогда наверное chrono еще не было
1
|
||||||
| 30.03.2013, 17:44 | |
|
Помогаю со студенческими работами здесь
20
Задержка Задержка Задержка Задержка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В качестве. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|