Цитата:
Сообщение от LordN
я бы это сделал битовыми масками. маски положил бы в мультиплексор и гонял бы его по кругу.
|
Не совсем вас понял.
Если речь о порядке опроса - так адреса приборов не подряд (живое устройство, 6 приборов. Адреса - 101,202, 107,208, 113,214), поэтому мультиплексор в любом случае есть - он адреса подставляет.
Если же речь идет об "инициации вычитки" - тут мне сложно сказать. Вроде, элементы без проблем размещаются на поляне так, что нужная последовательность сохраняется (как только считались все переменные слейва - происходит запись соответствующего набора регистров, в следующем тике - инкремент счетчика, смена входа мультиплексора адреса, запись обновленного адреса в SlaveX, ожидание тика на новый цикл чтения). Может, имеет где добавить элементы Raise (или и так будет работать?) - но причин заморачиваться с "бегущей единицей", размазывая простое действие на 5 тиков - вот в упор не вижу!
Проблема, которая режет глаз - состоит в том, что прибор может не ответить (ну фиг знает... завис с перепугу, например). И тогда на выходах
rdy никогда не появятся единицы и "именованная связь" будет висеть в вечном нуле - т.е. переход к вычитке следующего прибора не произойдет до перезапуска Пикселя...
P.S.
Решение сейчас хочется сделать качественно, ибо на горизонте маячит ВРУ с 42 приборами (там, правда, можно прикрутить SMH4 и забыть об ограниченном ОЗУ пикселя - но, тем не менее)...