-
Пользователь
это то, что здесь называют маской?
да, конечно, я попробую так и делать. и автор, что интресно, доступен будет в понедельник.
вообще не понимаю, зачем гонять по линии несколько байт для передачи одного бита. ведь выделить их из байта (или впихнуть туды биты) совсем не сложно...
но все таки. предположим, что я никогда не узнаю, с каким адресом мне нужно обратиться к ацп, чтобы по команде чтения регистра вытянуть 16 байт и распотрошить их на биты.
тогда процедура создания в конфигураторе возможности обращения к битовым переменным с указанными адресами 100, 101, 102... - какова?
ведь я порождаю там минимально объект длиной 8 бит. нет там буля...
вот это хотелось бы понять. пока автор досыпает свои сны 
А пока пофантазирую. Описание Модбаса говорит, что со стороны девайса распределение адресов может быть каким угодно. Единственное:
The only requirement is to link data reference with physical address
Таким образом, размышляю я, вовсе не факт, что битовые переменные с адресами 100 и 101 будут физически рядом (как бы это не казалось очевидным). А если так, то я в самом строго независящем от причуд программиста АЦП случае должен сделать так:
1) Для чтения бита 100 - Конфигуратором породить 8 бит в области обмена, дать этому объекту адрес 100 и обращаться к нему командами битового чтения. В получаемом ответе я должен взять строго младший бит, ибо стандарт говорит, что в любом случае именно там находится бит бит, который я адресую.
2) Для чтения бита 101 я точно так же порождаю байт, но даю ему номер 101 и так же обращаюсь к нему, вытягивая младший бит.
3) Для записи 100 бита я порождаю еще один объект с номером 100 и объявляю его выходным. И пишу либо 0000, дибо FF00. И других вариантов нет.
Вроде так...
Исправлено: Ага! Дудки! Вкуриваю Конфигуратор: В возможных командах в выходном модуле "8 битов" есть только команда 0x0F и "застандартная" 0x71. Вот и выходит (если я правильно понимаю), что записать в один бит, не переживая о способе размещения остальных битов - НИЗЗЯ.
Это правильно?
Последний раз редактировалось drvlas; 18.12.2010 в 11:16.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума