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