Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Вопрос по L-761

Вы не вошли.

 Поиск | Регистрация | Вход 

Слава
08.07.2004 15:33:36
#1

Гость

Вопрос по L-761

Здравствуйте!
Может быть, вопрос глупый, но, пожалуйста, объясните, почему при выполнении примерно такого кода время эксперимента каждый раз разное(+-0.5 сек)?

TSyncTHread=class(TThread)
private
  procedure XSync;
protected
  procedure Execute; override;
end;
WA=array[0..200000] of SmallInt;
PWA=^WA;
var
.............
  dev:DEV_REG_UNI;
  pd:PLATA_DESCR;
  adcp:ADC_PAR;
  Rate:Double=50;
  Channels:DWord=10;
  Chan:array[0..9] of Word = ($00,$01,$02,$03,$04,$05,$06,$07,$08,$09);
  Kadr:Double=1.82;
  Data:PWA;
  sync:PDWORD;
  syncThread:TSyncThread;
........
dt,dt2:TDatetime;
h,h2,m,m2,sek,sek2,ms,ms2:word;
..........
DW:DWord;
usedsize:DWORD;
.................

При нажатии на кнопку пуск с помощью функции TIME фиксирую время. (h,m,sek,ms)
.................
procedure TSyncThread.Execute;
var q:longint;
begin

StartLDevice(@dev);
while (sync^<8192) do  begin  end;
StopLdevice(@dev);

dt2:=time;

decodetime(dt2,h2,m2,sek2,ms2);

showmessage(floattostr((sek2+ms2/1000)-(sek+ms/1000)));

self.Suspend;

end;

08.07.2004 16:09:49
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Вопрос по L-761

Всякие разные накладные расходы в виндах и в VCL плавают слегка вот и разниться время.

Слава
08.07.2004 20:17:27
#3

Гость

Re: Вопрос по L-761

То есть разница по времени возникает в результате задержек перед стартом потока? Или в самом потоке? Если второе- то как можно говорить о какой-то частоте дискретизации?

09.07.2004 09:03:46
#4

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Вопрос по L-761

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