Hello Kerry,
我想问的并不是过滤器怎么过滤MB,也就是不是同一个问题。我想用FIFO模式接收报文信息,但是SDK中并没有这个例程。现在我看FIFO的结构感觉很疑惑,其中有下面这个表,最后两列说掩码寄存器会影响到FIFO中ID过滤表的元素。

ID过滤表元素有A/B/C三种格式,下图是全局掩码寄存器对ID过滤表元素的匹配位。

我不是很明白全局掩码寄存器或者私有掩码寄存器是怎么匹配ID过滤表中的元素的,这个过程是怎样子?
还有就是ID过滤表中的元素是怎么筛选报文,这个过程又是什么,能否举个示例,我对文档中的匹配过程看的不是很懂?
我是不是可以可以只用ID过滤表来筛选报文,而不需要用掩码寄存器对ID过滤表中的元素进行筛选?
这才是我实际想问的。
我现在的理解是这样的:
假设我设置RFFN = 1, FIFO使能,标准帧。0x123(0b0001_0010_0011),0x321(0b0011_0010_0001)
我想接收的ID是0x123,设置的过滤表中元素的格式为A格式,全局掩码寄存器为0x123(0b0001_0010_0011),A格式(这个是不是可以不需要?如果不用掩码寄存器会有什么影响);
现在就往ID筛选表里面填写元素{0x123,0x321},A格式;
然后全局掩码寄存器将会匹配ID过滤表的元素,查看寄存器说明是0不检测相应位,1检测;所以是不是这样,全局掩码寄存器只会检测ID过滤表中元素的第0,1,5,8位,只要接收到的报文这几位和ID过滤表的元素对应,就认为是可接收报文)
如果上面没有理解错误,有一个ID为0x323(0b0011_0010_0011)的报文过来,报文也会被接收;
当ID为0x320(0b0011_0010_0000)的报文过来,报文会被丢弃,因为第0位不是1。
不知道我的理解有没错,望解答。谢谢。