У меня есть набор кодов операций для выполнения определенной функции, но здесь есть сложная часть: например, в приведенном ниже коде, channelABC является входом, что означает: если на моей стороне продукта есть канал A или канал b, иликанал c выбран, он должен совпадать, ИЛИ, если на моей стороне продукта. если выбран канал b и c, он должен совпадать, в основном, если один или несколько каналов совпадают (со стороны входа или со стороны продукта), - светодиод должен светиться.
Я пытался отобразить его, но яне уверен в правильном способе сделать это
typedef enum{
ZoneA = 0x01,
ZoneB = 0x02,
ZoneC = 0x04,
ZoneD = 0x08,
zoneE = 0x10,
ZoneF = 0x20,
ZoneG = 0x40,
ZoneH = 0x80,
ZoneABCD = 0x0f,
ZoneAB = 0x03,
ZoneAC = 0x05,
ZoneAD = 0x09,
ZoneBC = 0x06,
ZoneBD = 0x0A,
ZoneCD = 0x0C,
ZoneABC = 0x07 ,
ZoneABD = 0x0B,
ZoneBCD = 0x0E,
NOZONE = 0x00
}zone;
railzone =buffers[0]; //rail zone read the value , which is the first element in the buffer when the packet info is transformed to buffer
//railzone will have the input here
if(railzone ==ZoneABCD || railzone == ZoneA || railzone == ZoneB || railzone == ZoneC || railzone == ZoneD || railzone == ZoneAB
|| railzone == ZoneAC || railzone == ZoneAD || railzone == ZoneBC || railzone == ZoneBD || railzone == ZoneCD || railzone == ZoneABC ||
railzone == ZoneABD || railzone == ZoneBCD )
{
}
Я передаю данные как ZONEABC, и у меня есть зона AB в моем продукте, и поскольку присутствуют две зоны A и b, на нем должен гореть светодиод