При работе с драйвером ч/з тотчку вызова какова структура IA?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Структура IA - общая для всех типов драйверов. typedef union { unsigned char c[6]; unsigned short int i[3]; } IA; Posted by Leonid (Участник № / Member № 154) on :
Канал К___1 - дискретный, его настройки: Base=100, CH=1, Mux=0 Type=норма, State=нет. Что будет в IA (по байтно)?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Все будет зависеть от того, как Вы будете эти данные принимать: через переменную С - 1 байт, или через переменную I - 2 байта. Для каналов с подтипом АНАЛОГ и ДИСКРЕТ первый параметр BASE - 2 байта, остальные однобайтовые (это указано в документации). Соответственно, для чтения параметра канала BASE - лучше использовать переменную IA.I[0], а для остальных настроек IA.C[0], IA.C[1] и т.д.
Posted by Leonid (Участник № / Member № 154) on :
Большое спасибо
Posted by Leonid (Участник № / Member № 154) on :
А как в драйвере обрабатывать аналоговые сигналы ведь v - 2 байта (unsigned short), а float - 4 байта?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Для операций с данными типа FLOAT канал в ТМ должен иметь тип FLOAT. Размерность переменной v - 2 байта была принята из соображений, что драйвер предназначается для работы с платами УСО, а разрядность АЦП или ЦАП - не превышает 16 бит, т.е. 2 байта.