Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
|
||||
|
Получение временных меток пакета данныхДобрый день! И смежный вопрос: необходимо получать непрерывные данные с модулей, при этом данные отправляются "пакетами". Как осуществляется получение этих пакетов: Заранее спасибо за ответ! |
|||
|
||||
|
Re: Получение временных меток пакета данныхДобрый день! По поводу передачи данных, то для большинства модулей LTR (некоторое отличие есть в покадровом сборе LTR210), после запуска сбора функцией Start (или аналогичной) модуль начинает непрерывно собирать данные с заданной частотой опроса АЦП и отсылать их в ПК до тех пор пока не будет вызвана функция Stop. Эти данные принимаются службой ltrd и складываются в буфер (в конец очереди). А уже функция Recv читает эти данные из начала очереди (т.е. самые старые непрочитанные) в заданном количестве (и если нет заданного количества еще в буфере то будет ждать и завершится либо когда появится нужное количество, либо когда закончится заданный таймаут). Т.е. сама функция Recv к модулю не обращается. Т.к. данные при последующих вызовах Recv всегда извлекаются из начала очереди в буфере, то у себя Вы получаете непрерывную последовательность данных наверху снятую с заданной частотой без каких-либо пропусков и т.п. (ну главное только чтобы буфер не переполнился, что возможно если долго не читать из него данные после запуска сбора, но в этом случае Recv вернет соответствующую ошибку). По Stop этот буфер очищается. |
Страницы 1