Я подключен к ПЛК с Python. Этот ПЛК выдает аварийные состояния в 8-битном представлении. Например:
0110 0010
- бит 0 = свет вкл/выкл
- бит 1 = вентилятор включен/выключен
- бит 2 = тревога вкл/выкл
- бит 3 = дверь вкл/выкл
- ...
Каждый бит говорит о разных условиях.
Я хочу создать список условий и распечатать их вместе, например: дверь включена, сигнализация выключена, свет выключен и т. д.
В приведенном выше примере есть три различных условия. Я хочу показать их вместе, все они могут быть 1
или 0
. Как я могу связать ошибки/состояния с битами?
bitwise and
с битовой маской, которая изолирует каждый из полезных битовых индикаторов, например.and
ввод байта с00000001
изолирует включение/выключение света. и т.д - person StuartLC   schedule 15.05.2015n
равна2**n
или1 << n
:0b01100010 & 1 << 2
равна0
, что означает, что будильник выключен. - person jonrsharpe   schedule 15.05.2015http://repl.it/oGQ
- person Malik Brahimi   schedule 15.05.2015