Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аозможность отсчитывания коротких интервалов 
:(
    Опции темы
Garabar
Дата 3.9.2004, 17:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Драсти
Задача следующая:
Нуно каимто образом отмерять(выполнять процедуры, например засылания в ЛПТ порт) через равные промежутки времени, примерно с частотой 1Кгц, если ваабще такое возможно..
Спасибо.
  Вверх
Rennigth
Дата 3.9.2004, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



А в чем проблема? разновидностей таймеров очень много. В ЛПТ чтото отрравлять тоже немало литературы и примеров.
Но вообше это лутше делать Асмой. Если позарез могу кинуть тестовый примерчик.(гдето был)


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Garabar
Дата 8.9.2004, 16:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Хе)
Думаите я не пробовал, но тока таимер не позволяит частоту нужную палучить, а вся отстальная бадяга не даёт нелбходимой стабильности по времени, а это важно!!!!
  Вверх
Illusion Dolphin
Дата 8.9.2004, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



Возьми по поиску функцию GetTickCount, в винде быстрее (без изврата), я думаю, не выйдет...


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
p0s0l
Дата 9.9.2004, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Цитата(Illusion @ 8.9.2004, 17:09)
Возьми по поиску функцию GetTickCount, в винде быстрее (без изврата), я думаю, не выйдет...

Более точные измерения промежутков времени - QueryPerformanceCounter / QueryPerformanceFrequency
А еще более точные - через rdtsc, накидал аналогичные функции:
Код

procedure CpuQueryPerformanceCounter(var lpPerformanceCount: TLargeInteger);
asm
 mov   ecx, eax
 rdtsc
 mov   dword ptr [ecx+0], eax
 mov   dword ptr [ecx+4], edx
end;

procedure CpuQueryPerformanceFrequency(var lpFrequency: TLargeInteger);
var c1, c2, f, pc1, pc2 : TLargeInteger;
begin
 QueryPerformanceFrequency (f);
 QueryPerformanceCounter (pc1);
 CpuQueryPerformanceCounter (c1);
 repeat
   QueryPerformanceCounter (pc2);
   CpuQueryPerformanceCounter (c2);
 until (pc2 - pc1) > f;
 lpFrequency := Round((c2 - c1) / ((pc2 - pc1) / f));
end;
CpuQueryPerformanceFrequency можно вызвать где-нибудь вначале проги, и потом пользоваться полученным значением, чтобы каждый раз не замерять частоту (на это уходит 1 секунда)...

Но т.к. винда - многозадачная ОС, то время от времени происходят переключения задач, и вся эта точность летит к чертям... Чуть улучшить дело можно повысив приоритеты...




--------------------
С уважением, г-н Посол.
PM   Вверх
Garabar
Дата 15.9.2004, 17:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Пасибо, попробую.... хотя я уже решил эту задачу используя вызов турбиковской проги в дос эмуляции.... как нистранно там всё ровно если не переключаться между окнами)))
Кстати если кто нибуть знаит пачаму интересно послушать..))
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.