Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Windows-программисты, подскажите, с помощью чего лучше сделать задержку в несколько мс?
Отправлено
A
(81.27.249.28)
04 января 2010, г. 14:45
Win XP 32 bit, VC++ 6.0
особо большая точность не нужна
Составить ответ
|
Вернуться на конференцию
Ответы
Sleep() или функции PerfomanceCounter в зависимости от задачи
-
koyodza
(04.01.2010, 15:15:15
93.73.215.120
, 862 байт)
пробую Sleep() - вроде работает. Но проясните насчет её дискретности
-
A
(04.01.2010, 15:39:53
81.27.249.28
, 241 байт)
правильно понимаете
-
koyodza
(04.01.2010, 16:01:2
93.73.215.120
, 769 байт)
Зависит от приоритета ветви. Ставь приоритет процесса и потока на максимум, жди через Sleep, потом возвращай приоритет обратно. Получишь минимально возможную дискретность, если винда в это время винчестером не шуршит :)
-
Шунт_гороховый
(04.01.2010, 15:55:35
95.27.91.102
,
пустое
)
вот не надо давать вредных и непроверенных советов
-
koyodza
(04.01.2010, 16:03:3
93.73.215.120
,
пустое
)
Вы верите в то, что более приоритетная ветвь (или даже с таким же приоритетом) обязана отдать вам управление лишь только потому что у вас в программе закончилось выполнение функции Sleep? Святая наивность.
-
Шунт_гороховый
(04.01.2010, 16:17:33
95.27.91.102
,
пустое
)
Вы понимаете упрощённо. В виндовс никакие "ветви" никаким другим ветвям ничего не передают
-
koyodza
(04.01.2010, 16:34:23
93.73.215.120
, 502 байт)
Я излагаю упрощённо, не нужно буквоедствовать :) Вы так и не ответили, чем же мой совет вредный или непроверенный?
-
Шунт_гороховый
(04.01.2010, 17:30:52
95.27.91.102
,
пустое
)
1. Ваш предыдущий вопрос был сформулирован иначе. 2. Я тоже излагаю упрощённо и совсем не буквоедствую. А вредный и непроверенный
-
koyodza
(04.01.2010, 20:26:8
93.73.215.120
, 494 байт)
Вы опять не правы.
-
Шунт_гороховый
(05.01.2010, 13:17:45
78.106.234.91
, 400 байт)
я давно заметил, что Вы любитель затевать споры о вещах, в которых не понимаете
-
koyodza
(05.01.2010, 19:29:24
93.73.215.120
, 529 байт)
Да. Начиная с некоторого значения задержка меньше не становится. Можно поставить Sleep(1) и убедиться. А вот в бОльшую сторону задержка может растянуться на секунды.
-
Леонид Иванович
(04.01.2010, 15:54:24
87.252.227.56
,
пустое
)
Помогает timeBeginPeriod; можно перейти в KernelMode, но под RT Windows не позиционирован
-
jo
(04.01.2010, 16:36:34
127.0.0.1,212.33.73.53
,
пустое
)
Переключение между параллельными процессами. Очень зависит от нагрузки программной нагрузки. Попробуйте запускить параллельно процесс, загружающий процессор на 100%
-
jo
(04.01.2010, 15:52:17
127.0.0.1,212.33.73.53
,
пустое
)
Multimedia Timer.
-
quark
(04.01.2010, 14:48:15
95.165.201.136
,
пустое
)
sleep();
-
Igor_Koval
(04.01.2010, 14:48:1
95.132.187.176
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
к трём прибавьте 5:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru