CAN 接收邮箱 掩码设置

    技术2022-07-10  114

    基本概念:

    配置CAN接收邮箱时的两个参数

    1.filter mask: 掩码

    2.Filter code:匹配值(不太清楚怎么翻译)

    配置要求:

    配置接收邮箱时,使该邮箱接受的报文ID 为 0x500 – 0x57F这个范围,求其Filter Mask和Filter Code接收标准帧报文(标准帧的报文Id为11位,前3位 后8位)

    计算掩码 Filter mask 和 Filter Code的关键两点:

    1.Id , Filter mask 和 Filter code 的关系 :ID & Filter mask = Filter Code      2.求掩码的关键,1关心,0不关心

    下面详细讲解其计算过程:

    需要接收的Id范围 0x500 – 0x57F

    第一步:

    5 :0101, 每个位都关心,因此掩码为7,即0111;

    需要关心这4位,且第一位必须为0 ,第二位必须为1,第三位必须为0,地上位必须为1 ,所以FiterCode为0101,即为5.

    第二步:

    0-7,0000 – 0111 ,只需要关心第 1位,后面3位的值不关心,所以掩码第一位为1,因此掩码为1000,即为8;

    要求第一位必须为0,其他位不关心,也设置为0,所以,FilterCdoe为0000

    第三步:

    0 -F, 0000- FFFF,这4位都不需要关心,因此掩码为 0000 ,即0;

    这4位都不关心,所以,FilterCode 为0000

    第四步:掩码最终为 780

    FilterCode 为500

    进行验证:

    ID 574

    0

    1

    0

    1

    0

    1

    1

    1

    0

    1

    0

    0

    掩码780

    0

    1

    1

    1

    1

    0

    0

    0

    0

    0

    0

     

    FilterCode 500

    0

    1

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0

     

    若要使该接收邮箱只接受ID 为0x478的报文Id根据上述可知,其掩码为 0x7FF,表示对ID的每一位都关心,其FilterCode则为0x478。

    Processed: 0.010, SQL: 9