在
candump的帮助下:
: (matches when & mask == can_id & mask)
现在,当掩码为0时,每个CAN ID都将匹配它.所以can_id没有实际效果,这就是所有消息都通过的原因,can id中的每个必需位都应该在掩码中设置为1.
关于复制问题,可能是因为你使用了两个过滤器,但我不确定这一点.
你想要做的是:
candump can0,00200200:1fffffff,255:7ff
示例(由OP提供):
enyquist:~$candump vcan0,255:7ff &
[1] 7339
enyquist:~$cansend vcan0 002001fe#1122
enyquist:~$cansend vcan0 002001ff#1122
enyquist:~$cansend vcan0 00200200#1122
vcan0 00200200 [2] 11 22
enyquist:~$cansend vcan0 00200201#1122
enyquist:~$cansend vcan0 00200202#1122
enyquist:~$
enyquist:~$cansend vcan0 253#1122
enyquist:~$cansend vcan0 254#1122
enyquist:~$cansend vcan0 255#1122
vcan0 255 [2] 11 22
enyquist:~$cansend vcan0 256#1122
enyquist:~$cansend vcan0 257#1122
enyquist:~$