-
matt_ (05.10.09 10:39) [0]Ситуация детская.
Есть прибор, из себя представляет датчик прикрученный к Wi-Fi передатчику, который начинает отдавать данные сразу после установления соединения.
Данные (54 байта) отдает с частотой 100 гц. демо программа это подтверждает
упростил уже до минимума
открыл соединение
TcpClient1.RemoteHost := '192.168.0.5';
TcpClient1.RemotePort := '29292';
TcpClient1.Active := True;
поставил таймер который раз в миллисекунду делает
TcpClient1.ReceiveBuf(b,54);
cnt:= cnt +1; //счетчик принятых данных
замеряю по времени - получается 55-60 Гц, пропадающих пакетов нет...
Подскажите, в чем может быть проблемма? -
Медвежонок Пятачок © (05.10.09 11:28) [1]поставил таймер который раз в миллисекунду делает
Так не бывает. -
CrytoGen (05.10.09 11:32) [2]бывает, но делать так плохо
-
CrytoGen (05.10.09 11:36) [3]Проблема может быть в том, что хорошо бы проверять сколько байт прочитано.
-
CrytoGen (05.10.09 11:56) [4]Ой сам дурак. То что можно сделать таймер раз в миллисекунду это таки да, но в данном случае докладчик похоже использовал обычный TTimer, из этого и следует 55-60 Гц.
-
Медвежонок Пятачок © (05.10.09 11:59) [5]вот именно.
тот что знает, какой таймер надо заюзать, тот вообще не задаст подобного вопроса. -
Омлет (05.10.09 12:04) [6]> тот что знает,
Вы все роботы? -
matt_ (05.10.09 12:07) [7]
> но в данном случае докладчик похоже использовал обычный
> TTimer, из этого и следует 55-60 Гц.
100 Гц это каждые 10 миллисекунд, TTimer не обеспечивает такую дискретность? -
Омлет (05.10.09 12:11) [8]> matt_
Минимум раз в 50-60 мс срабатывает. Чаще не может -
Омлет (05.10.09 12:14) [9]
-
CrytoGen (05.10.09 17:48) [10]таки чаще может. у меня 15-16 мс показывает
-
Омлет (05.10.09 18:16) [11]Прогресс не стоит на месте )
-
CrytoGen (05.10.09 18:32) [12]:)
to matt_
Вообще лучше с таймерами не городить, а просто создать поток :)
смотри TThread
или даже можешь TIdThread