Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Вы не вошли. | Поиск | Регистрация | Вход |
Страницы 1
|
||||
|
Вывод данных с E14-440 при работе на библиотеке lcomp_linux.tgzПриветствую! Пытаюсь разобраться с выводом данных с АЦП E14-440 на основе примера test.cpp из из библиотеки lcomp_linux.tgz Драйвера на 32-ную систему встали без проблем (кстати, с 64-ой системе почему то выскакивала ошибка даже на версии библиотеки 1.58). Пример из папки test успешно компилируется. А вот дальше начинаются сложности. Опыта работы с С/С++ нет. Чтение "руководства программиста" взятого отсюда: https://www.lcard.ru/support/developer результата не дало. Видимо оно всё таки для виндовой версии библиотеки. Хотя про Ранее удалось разработать проект для Windows на основе этой же платы в Delphi. Там удалось разобраться с примером. На этом форуме прочитал про тестовый пример l7xx.tst В указанной библиотеке его нет. Задача стоит банальная. Подозреваю что тестовый пример отправляет на вывод адреса ячеек, где лежат данные. Не понимаю где лежат сами данные. Полез разбираться с указателями. Оказалась эта тема для меня, увы, пока сложна. Надеюсь с ней разобраться при работе над данным проектом:) |
|||
|
||||
|
Re: Вывод данных с E14-440 при работе на библиотеке lcomp_linux.tgz
Можете написать подробнее, какая ошибка возникает и при установке чего (драйвера или библиотеки, если драйвера, то лог сборки). Сами функции библиотеки lcomp под Linux в целом соответствуют аналогичным под Windows, как и подход к работе аналогичный, отличается главным образом только начальная загрузка библиотеки, которая делается API ОС (Вместо LoadLibrary и GetProcAddress - dlopen и dlsym). |
|||
|
||||
|
Re: Вывод данных с E14-440 при работе на библиотеке lcomp_linux.tgzОшибка возникала при сборке драйверов. Алгоритм действий был таков:
Манипуляции проводил на Raspberry Pi 4 Model B с операционкой raspios-bullseye-arm64-lite скачанной с официального сайта устройства. Позже попробовал на это же устройство поставить raspios-bullseye-armhf-lite. С этой ОС всё заработало без проблем. Ранее пробовал устанавливать по выше приведённому алгоритму драйвера с библиотекой на старый ноутбук с дебиано подобной системой (Linux antiX 32-bit). Там тоже всё прошло как по маслу с первого раза. |
|||
|
||||
|
Re: Вывод данных с E14-440 при работе на библиотеке lcomp_linux.tgzЗначит р - указатель на буффер с данными Кажется разобрался. Тогда при изменении исходника test.cpp путём задания значения переменной multi = 2 и вы выводе данных в консоль стройкой
где мы в десятичном виде указываем место куда будет писаться следубщий отсчёт *рр и значение последнего записанного отсчёта p[(*pp-1)] получим следующий вывод:
Тут на вход АЦП подаётся синус постоянной частоты с генератора. в этом выводе меня смутили значения отсчёта порядка 63 тысяч. Ранее в документации к АЦП я читал что оцифрованные значения формируются в диапазоне от -8 тыс до + 8 тыс (это примерно, сейчас точно не помню). Видимо я в этом месте где то заблуждаюсь. |
|||
|
||||
|
Re: Вывод данных с E14-440 при работе на библиотеке lcomp_linux.tgzЭто связано с представлением отрицательных чисел, значения представлены в дополнительном коде, т.е. отрицательное значение кодируется как 65536 - модуль числа, т.е. 65535 - это -1, 65534 - это -2 и т.д.). Это соответствует кодированию чисел со знаком для стандартных типов языков программирования, поэтому для корректного вывода Вам должно быть достаточно преобразовать тип переменной отсчета из беззнакового в знаковый (unsigned short в short), чтобы язык понял, что это число в дополнительном коде. Т.е. по идее достаточно изменить вывод на:
Ну или просто использовать short для описания переменной p, если работаете только с этим модулем (представление числа может зависеть от модуля, а пример обобщенный). |
|||
|
||||
|
Re: Вывод данных с E14-440 при работе на библиотеке lcomp_linux.tgzБлагодарю за помощь!!! Теперь всё работает как надо!!! Про ошибку при компиляции на 64-битных системах находил информацию об этом на этом форуме. Тема там осталась не раскрытой. Видимо у автора темы получилось решить проблему обновлением пакетов lcomp-dkms и liblcomp1-dev |
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск