在开始使用滤波器之前,先向大家讲解十六进制帧ID如何与二进制对应,如下图1;十六进制帧ID :0xGHIJKLMN,其中N对应Byte0的bit0-bit3,M对应Byte0的bit4-bit7;。。。;而G对应的是Byte3的bit4。
![ZLG CANTest滤波器使用方法(cantest滤波设置)[图]](https://exp-picture.cdn.bcebos.com/1f9feadca039131f45e02c6ae275f2c4ed990aa0.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_640%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80)
了解上述对应关系后。在实际应用中,假如我们只想接收帧ID高四位是0x1864的帧,那么我们要先换算成2进制,把0x64换算成8位的Byte2,把0x18换算成5位的Byte3;换算后的结果是Byte2=0110 0100;Byte3=1 1000,如下图:
![ZLG CANTest滤波器使用方法(cantest滤波设置)[图]](https://exp-picture.cdn.bcebos.com/d2987775f2c4ec99c94ffbb2c3fe1e425c6b07a0.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_640%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80)
换算完毕以后,我们来设置滤波器,因上述步骤我都是用29位标识符做的讲解,所以下面我们也以扩展帧举例。打开滤波器设置界面,选择滤波模式为“扩展帧 单滤波(仅ID,自由设定)”如下图
![ZLG CANTest滤波器使用方法(cantest滤波设置)[图]](https://exp-picture.cdn.bcebos.com/49bf00425d6b04d1df25653bb213e8e5edee01a0.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_640%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80)
![ZLG CANTest滤波器使用方法(cantest滤波设置)[图]](https://exp-picture.cdn.bcebos.com/e9a4f2eeadbcbe2fda7cb9ab54dae43b3a8678a0.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_640%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80)
把第二步换算的二进制数据设置进去,如下图1;因我们只对十六进制的高四位进行滤波,所以滤波器的低四位全部设置为X(X表示不参与滤波)。
![ZLG CANTest滤波器使用方法(cantest滤波设置)[图]](https://exp-picture.cdn.bcebos.com/de9bfa3b3b860221ec5b6ce5d8bbf82065fb72a0.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_640%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80)
设置完毕后,点击确定回到主界面,能看到我们只接收了十六进制帧ID高四位为0x1864的帧,其他帧已经被滤掉。
![ZLG CANTest滤波器使用方法(cantest滤波设置)[图]](https://exp-picture.cdn.bcebos.com/52fae62064fb960b982dfad28fa355e982ae6ca0.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_640%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80)