Вот посмотрите.Вложение 31365
Вид для печати
Вот посмотрите.Вложение 31365
Можно через элемент или.Цитата:
Так Вы же написали, любой выход коммутирует с любым входом, что тут может быть непонятным(так правильнее, чем наоборот, т. к. на выходе не может быть значения сразу с двух входов)?!
Так если всё так просто, сделайте ваш вариант коммутатора.Цитата:
А насчет макросов, так средняя часть, где всё сохраняется, запоминается и не понадобится в нашем случае, в макросах проекта есть отдельные макросы для вставки-чтения бита!
Вот посмотрите:
Вложение 31366
Вложение 31367
Извиняюсь, мне казалось, это очень просто, что и объяснять не надо, пришлось делать на планшете(неудобно)!
Не знаю во сколько раз проще получилось, наверно минимум раз в 10!!!
Я же возрастные ограничения не выставляю! Обидно даже, выкладываю, выкладываю, никто не смотрит!!!
Если серьёзно, мне кажется подобный макрос сильно искусственно ограниченным, гораздо лучше, на мой взгляд, при любой возможной входной комбинации(всего 256) иметь возможность любой выходной комбинации(тоже всего 256), я уже делал подобное ПЗУ, не знаю нужны такие с оперативным изменением комбинаций(некоторые жаловались на сложность программирования комбинаций), надеюсь, теперь сами сделаете, если начнёте делать и не будет получаться скажите, я теперь сильно вооружён нормальным компом! Или хотя бы как более простой и легко осуществимый вариант(типа промежуточного решения) на вход каждого SEL(выбор входа для выхода) подавать не 1-8, а 0-255(в зависимости от каких входов он срабатывает: 1 - от первого, 2 - от второго, 4 - от третьего и т. д. 3 - от первого и второго, 5 - от первого и третьего, 6 - от второго и третьего, 7 - от первого, второго и третьего и т. д.), для любой входной комбинации, что Вы об этом думаете?
Несколько расширил возможности коммутатора, точнее не стал их ограничивать, т. е. жёстко прописывать куда писать сигнал со входов, теперь и это можно назначать в диапазоне 0-31, если значения разряда куда пишется бит(SELIN) и значения разряда откуда читается бит(SELQ) совпадают(равны), то соответствующие вход и выход будут с коммутированы! Как-то так:
Вложение 31392
Вложение 31393
Может такВложение 31401лучше (удобней) будет?
А я мучился, не знал где его приспособить, здесь Вам и первого варианта достаточно(там прописаны значения соответственно номерам входов 1-8), тут вариант нужен где эти значения меняются и ещё чуть не забыл нельзя на двух и более SELIN выставлять одинаковые значения, только разные в пределах 0-31, два бита в одно место не поместятся, а вот на SELQ можно выставлять одинаковые значения, можно читать один бит сразу на несколько выходов, короче молодцы!!! Я думаю, что для большинства применений достаточно и первого варианта, второй применяйте очень осторожно и когда первого уже не хватает!
Вложение 31406