0

特定の機能を実行するためのオペコードのセットがありますが、ここにトリッキーな部分があります。たとえば、以下の投稿されたコードでは、channelABC が入力です。つまり、私の製品側にチャネル A、チャネル b、またはチャネル c がある場合選択した場合、一致する必要があります。または、製品側の場合。チャンネル b と c が選択されている場合、基本的に 1 つ以上のチャンネルが (入力側または製品側で) 一致する場合、一致する必要があります。- LED が点灯する必要があります。

私はそれをマッピングしようとしましたが、それを行う正しい方法がわかりません

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 として入力しています。また、製品に zoneAB があり、zoneA と b の 2 つが存在するため、LED が点灯するはずです。

4

2 に答える 2