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


Остановка сбора данных

Вы не вошли.

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

Алекс
25.08.2011 07:07:37
#1

Гость

Остановка сбора данных

Здравствуйте. После сбора данных с карты L791 останавливаю сбор однако он тормозится только через некоторое время., скажите это нормально?плата доберает половинку буфера или как?Код функции по сбору ниже.

#pragma optimize ("", off)
ULONG WINAPI ServiceThread(PVOID)
{
int halfbuffer;
int j;

halfbuffer=(IrqStep*pages)/2;
while (collect)
    {
        if (sync[I_ADC_PCI_COUNT_L791]<=halfbuffer)
         {
            while ((sync[I_ADC_PCI_COUNT_L791]<=halfbuffer)&&collect) Sleep(0);
            fl1=0;
         }else
            {
            while ((sync[I_ADC_PCI_COUNT_L791]<=halfbuffer)&&collect) Sleep(0);
            fl1=1;
            }
        k=halfbuffer*fl1;
               for (j = 0; j < ((halfbuffer/4)-1); j++)
               {
                    for (int i = 0; i <=15; i++) {
                    Buffer[Index]=(short)(data[k+i]&0xFFFF);
                    Index++;
                    }
                    k+=16;
                    Sleep( 1 );
               }
    }
}
#pragma optimize ("", on)

по старту

pI->InitStartLDevice();
ULONG status;
status=pI->StartLDevice();
hThread=CreateThread(0,0x2000,ServiceThread,0,0,&Tid);

останавливаю сбор

pI->StopLDevice();
collect=false;
CloseHandle(hThread);

25.08.2011 10:00:05
#2

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

Re: Остановка сбора данных

некоторое время это сколько? в тестовых примерах как?

Алекс
25.08.2011 10:11:12
#3

Гость

Re: Остановка сбора данных

некоторое время это в районе 5-10сек...заметил такую особенность если остановить например на Index=15000 то он остановится только когда наберет 16380., я так понимаю плата доберает половинку?

Алекс
25.08.2011 10:13:17
#4

Гость

Re: Остановка сбора данных

Извените поторопился 16380 это при сборе с 4х каналов,но и с 16ти каналов число остановки фиксированное., и кратное 16

25.08.2011 11:31:16
#5

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

Re: Остановка сбора данных

плата ничего добиратьне может. L-Graph запустите и в режиме осциллографа смотрите. Плата стартует собирает останавливается и показывает. Там-то задержек нету.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4

Многоканальный телефон:+7 (495) 785-95-25

Письма и запросы: lcard@lcard.ru
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск