Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Вы не вошли. | Поиск | Регистрация | Вход |
Страницы 1
|
||||
|
E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает falseДобрый день! Какие могут причины того, что ReadData не может прочитать данные АЦП за time out? - Модуль E20-10 (Rev.'B') |
|||
|
||||
|
Re: E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает falseЕсли выключили overlapped, то надо менять всю логику сбора (убрать двойную буферизацию, не делать два запроса в начале, исключить WaitFor... и GetOverlappedResult - короче говоря, просто ReadData в цикле). Однако использовать двойную буферизацию все-таки рекомендуется, тем более что у Вас самый быстрый модуль. |
|||
|
||||
|
Re: E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает falseСпасибо за быстрый ответ! Примерный код (не срабатывает только m_pModule->ReadData(&IoReq)) m_dataStep = 256 * 1024
|
|||
|
||||
|
Re: E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает falseДумаю было бы полезно для большей информации посмотреть, какой номер ошибки возвращает GetLastErrorInfo() после возникновения ошибки. Также на всякий случай все же уточню, так как если исходить из этого куска кода, то при остальных ошибках нет выхода, а продолжает выполняться программа, всегда доходя до ReadData, не сохраняя коды предыдущих ошибок - точно ли нет ошибок до этого? |
|||
|
||||
|
Re: E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает falseСпасибо! - Да, ошибок до вызова ReadData не возникает (не выложила весь код, return только в одном месте, так как это отдельная функция) - После вызова ReadData GetLastErrorInfo() возвращает код ошибки 422 (проверено, что перед вызовом возвращался код 100 (100 возвращается уже сразу после получения ILE2010)). В документации к GetLastErrorInfo() сказано, что "Данная интерфейсная функция не выполняет классификацию ошибок для интерфейсной функции ReadData(). Т.к. эта функция фактически является слепком со стандартной Windows API функций ReadFile(), то для выявления ошибок следует пользоваться классификацией ошибок, присущей системе Windows." Тут (https://msdn.microsoft.com/en-us/librar … s.85).aspx) ошибки 422 нет, возможно я смотрю не в том списке? |
|||
|
||||
|
Re: E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает falseОльга пишет:
Ольга пишет:
Если так написано, то это для актуальной версии неправильно, см. исходные тексты lusbapi. А вот почему, я пока не понял. Пуск АЦП, говорите, точно успешно выполнился? Внешний запуск вроде бы не включен. Величина таймаута рассчитывается странно (по-моему, для получения времени сбора надо было разделить еще на число каналов), но это в большую сторону ошибка, а потом еще +1000 (секунда). |
|||
|
||||
|
Re: E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает false1. Какая версия используемой библиотеки Lusbapi? |
|||
|
||||
|
Re: E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает false1. lusbapi34 (но использую не dll, а статическую lib из папки DLL\Lib\MicroSoft) |
|||
|
||||
|
Re: E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает falseОльга пишет:
Вообще это не статическая, а dll-import lib. Чтобы линкер смог собрать .exe с нужными импортами. Так что .dll при запуске программы нужна. |
|||
|
||||
|
Re: E20-10 (B). При чтении АЦП в синхр. режиме ReadData возвращает falseСпасибо за ответы! Ошибка была в том, что в начале не была вызвана LOAD_MODULE(). |
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск