Цитата Сообщение от Сергей0308 Посмотреть сообщение
Вы сами попросили сделать логику: если приходят более одного бита в состоянии "1", считай как одновременно более одной нажатой кнопки (не считая кнопки стоп), то это аварийная ситуация, такого не должно быть при нормальной работе и в этом случае ничего не происходит, сохраняется преведущее состояние выходов, короче, я так и сделал! Чтобы это указать можно показать что состояние выходов при этом не меняется(фиксируется), наверно проще словами!
Вы все верно реализовали, на обоих сторонах! Просто попросили таблицу истинности, я о такой и не слышал, вот и составил, хотя повторюсь на словах Вы меня поняли верно. И так же как Вы пишете я тоже могу словами объяснить как поступать в нештатной ситуации, как в таблицу это занести я не знаю.

Цитата Сообщение от Сергей0308 Посмотреть сообщение
Вот ещё хотел добавить: можно передавать не битовую маску нажатых кнопок, а так как кнопки нажимаются по очереди(исключается одновременное нажатие, включение следующей только через кнопку стоп), то и передавать сразу код номера нажатой кнопки, впрочем он будет совпадать с номером кнопки в диапазоне 0-7, "0" соответствует, что все кнопки отжаты, тогда и проще получится и 3 бита хватит на все команды с одного пульта, надеюсь понятно объяснил и если хотите могу это в проекте переделать(показать) только напишите, если Вы не против! Тогда будет исключаться и команда одновременного нажатия кнопок, даже в случае какой ошибки(сбоя) и можно будет убрать последнюю добавленную логику с игнорированием аварийных команд и сохранением состояния выходов! Надеюсь понятно объяснил?!
Чего мне быть против)
Я по натуре перфекционист и потому привык делать как лучше, а здесь как мне кажется стабильности будет больше! Только расшифровывать номера кнопок я не знаю, точнее я могу на равенство сравнивать, но тогда не получается битами задавать настройки выходов, соответствующие кнопкам.