首先要配置滤波器模式,使用单个还是2个滤波器。
假设接收节点只有1个节点与其通信且不想通过判断发送ID确定是否接收,则需要配置验收代码寄存器和验收屏蔽寄存器。
http://forum.eepw.com.cn/thread/93906/1
问 The acceptance code bits (AC.7 to AC.0) and the eight
most significant bits of the message’s identifier
(ID.10 to ID.3) must be equal to those bit positions which
are marked relevant by the acceptance mask bits
(AM.7 to AM.0). If the conditions as described in the
following equation are fulfilled, acceptance is given:
(ID.10 to ID.3)=(AC.7 to AC.0)] v (AM.7 to AM.0)
=11111111。
上面这句话不等价于(ID.10 to ID.3)=(AC.7 to AC.0)
或者(AM.7 to AM.0)=0xff吧?(以上等号不是赋值运算符,而是逻辑运算符) 答 1: di 答 2: 第一个等于是恒等于,相当于 位同或运算,...第二个等号是 位相等判断
例如:
id10~id3 : 0 1 0 1 0 1 0 1
ac.7~ac.0: 0 0 0 1 0 0 0 0
那么[(ID.10 to ID.3)=(AC.7 to AC.0)]
= 1 0 1 1 1 0 1 0 (按位恒等,同或运算)
那么[(ID.10 to ID.3)=(AC.7 to AC.0)] v (AM.7 to AM.0)
设:am.7~am.0: 1 1 1 1 1 1 1 1 (不滤波,因为不管前面结果如何,第二个等式永远成立!)
当:am.7~am.0: 0 1 0 0 0 1 0 1 ,第二个等式成立!,此时,
接收id10~id3 为 0 x 0 1 0 x 0 x 而id2~id0 为xxx(任意) 的帧,并且
是在ac.7~ac.0定为: 0 0 0 1 0 0 0 0 的情况下!!!
总之,当: ac.7~ac.0: 0 0 0 1 0 0 0 0 , am.7~am.0: 0 1 0 0 0 1 0 1 时,接收id10~id3 为 0 x 0 1 0 x 0 x 而id2~id0 为xxx(任意) 的帧!
我的结论:
1.
当am.7~am.0: 00000000, id10~id3 == ac.7~ac.0
2.
am.bx=1, id.bx=任意(0/1);
am.bx=0, id.bx==ac.bx
等号的说法可能不对,但用法应该没问题!
答 3: 非常感谢分析得很好。很受用,谢谢。