Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
Как задается TimeOut?Здравствуйте!
|
|||
|
||||
|
Re: Как задается TimeOut?Просто таймаут в примере выбран с оч-ч-чень большим запасом )). В принципе можно использовать предопределённую константу INFINITE (см. хелп на WaitForSingleObject() ). |
|||
|
||||
|
Re: Как задается TimeOut?Сергей, про ИНФИНИТ я знаю.)
|
|||
|
||||
|
Re: Как задается TimeOut?""Ответьте ж, милый глаф, я плав или не плав?""(с) :-) |
|||
|
||||
|
Re: Как задается TimeOut?Я же говорю, что таймаут выбран с оч-ч-чень большим запасом (можно сказать от балды). В данном конкретном случае это не существенно. А в принципе при выборе величины таймаута следует учитывать не только кол-во собираемых данных и частотные параметры сбора, но и размер FIFO буфера в DSP модуля (FIFO_Lenght). Собранные данные из модуля в РС передаются ТОЛЬКО пачками по FIFO_Lenght/2 отсчётов. Т.е. пока текущая половика FIFO буфера полностью не заполнится новыми данными, их передача в РС не происходит. Например, пусть у Вас FIFO_Lenght = 12288 (по умолчанию). Частота работы АЦП - Tацп. Вы заказываете сбор DataStep = 6400 отсчётов. Тогда выбор таймаута равным DataStep*Tацп будет неверным. Т.к. после передачи первой пачки данных размером FIFO_Lenght/2 = 6144 отсчётов, нам остаётся получить из модуля всего (DataStep - FIFO_Lenght/2)= 256 отсчётов. Но передача в РС этих данных не начнётся пока полностью не заполнится данными вторая половинка FIFO буфера. Поэтому в данном примере более правильным будет выбор величины таймаута равным FIFO_Lenght*Tацп + (время передачи данных по USB).
|
Страницы 1
Тема закрыта