Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
Цифровая покадровая синхронизация E14-140Здравствуйте!
В чём проблема? Есть пример на С++ как использовать цифровую покадровую синхронизацию на E14-140? Спасибо |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140В LGraph2 наверное настройку на внешний старт нужно сделать... Надеюсь, что относительно GND положительный потенциал подаёте. Срабатывать должен по спаду 1->0. Синхронизация частоты АЦП должна быть установлена внутренняя (по умолчанию). |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Подал тот же синхросигнал между входом №20 (INT) и №21 (GND32) аналогового разъема. Заработала цифровая синхронизация начала сбора данных (TTL_START_SYNC_E140) в LGraph2. Покадровая синхронизация по-прежнему не работает. Собственно, LGraph2 использую, чтобы вообще убедиться, что оно заработает. Мне нужна цифровая покадровая синхронизация (TTL_KADR_SYNC_E140) в моей программе на С++. Код использую приблизительно такой: STOP_ADC();
тут оказывается, что sz=0 и в буфере пусто. И лампочка на АЦП не мигала. Такое чувство, что нифига он от импульсов не запускается. В LGraph2 то же самое, с той лишь разницей, что когда двигатель двигается (импульсы идут) - лампочка мигает. Специально проверял - двигается двигатель - лампочка мигает, не двиается - не мигает. Но в LGraph2 тоже на экране пусто. Какие будут предложения? |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Антон. С электрической точки зрения подавать синхросигнал между входом №20 (INT) и №21 (GND32) аналогового разъема абсолютно некорректно. Более того, в определённых случаях (например, при наличии разности потенциалов между корпусом компьютера и общим проводом источника сигнала) может повредить E14-140. Это аппаратные соображения. По программным вопросам в понедельник программисты ответят. |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Понял, спасибо.
|
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Антон:
|
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-1401. E14-140
|
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140ReadData() возвращается по таймауту? Давайте попробуем сначала убедиться, что правильно работает процедура чтения, т.е. при синхронизации TTL_START_SYNC_E140 данные в программу на C++ должны приходить. Еще советую проинициализировать все поля m_DAQParams, чтобы точно знать, в каком мы режиме. В частости, ClkSource = INT_ADC_CLOCK_E140.
Да, и чему равно BUFFER_SIZE? Данные отправляются блоками по 64 байта, т.е. BUFFER_SIZE должно быть кратно 32. |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140По TTL_START_SYNC_E140 работает, проверял на LGraph2. По TTL_KADR_SYNC_E140 даже LGraph2 не работает.
BUFFER_SIZE разные ставил. Какое это имеет значение, если в документации написано, что в случае некорректного значения функция сама его поправит и вернет исправленное? В любом случае, ставил 32 ровно - не работает. GET_CUR_ADC_PARS(m_DAQParams); - это разве не инициализация? |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Не очень удобно сравнивать поведение программы A в режиме X и программы B в режиме Y, поэтому я и подал идею проверить TTL_START_SYNC_E140 на вашей C++ программе...
Насчет коррекции размера... меньше 32 передавать нельзя, а если больше - да, на уровне lusbapi функция просто проигнорирует хвост. GET_CUR_ADC_PARS(m_DAQParams) - это чтение текущих параметров из устройства в структуру. Если, предположим, запустить другую программу и установить какой-то режим, то он там останется.
И еще... какая версия lusbapi? Последняя сейчас 3.3 -- http://www.lcard.ru/download/lusbapi33.exe |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Ок, попробую TTL_START_SYNC_E140 в четверг (сейчас в командировке, проверить не могу). request.TimeOut
версия lusbapi - 2.1.0.0
|
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Ну... просто у меня нет исходников старых lusbapi. Надо нам позвать в эту тему Сергея, который ведет сию библиотеку.
|
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140ReadData возвращает булевское значение (true/false). Уточню, что именно она мне вернула.
|
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Пардон, раз булевская, то, конечно, меня интересовало GetLastErrorInfo() в предположении, что вернулось false. |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Ок, в четверг проверю и доложу. |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140TTL_START_SYNC_E140 в моей программе тоже не срабатывает. |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140GetLastErrorString возвращает "Запрос на чтение данных АЦП отправлен." |
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140в версии 3.3 функция GetLastErrorInfo возвращает
|
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140О! и данные какие-то вернулись
|
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140Во общем тоже столкнулся с проблемой при работе с покадровой синхронизации.
|
|||
|
||||
|
Re: Цифровая покадровая синхронизация E14-140К сожалению, это особенность не E140, а USB протокола - минимальное количество передаваемых данных 64 байта, поэтому если частота небольшая, то надо увеличивать количество каналов (как Вы и сделали). |
Страницы 1
Тема закрыта