CAN双滤波器设置 | 已解决
双滤波器设置始终不成功,有大佬能回一下贴吗?//使用双滤波过滤器,接收 ID1=0x03D9 和ID2=0X012D 的报文
RX_ID1=0x03D9;RX_ID2=0X012D; //0x03D9<<5=0x7b+0x20;0X012D<<5=0x25+0xA0
CanWriteReg(ACR0,0x7B); //总线验收代码寄存器
CanWriteReg(ACR1,0x20);
CanWriteReg(ACR2,0x25);
CanWriteReg(ACR3,0xA0);
CanWriteReg(AMR0,0x00); //总线验收屏蔽寄存器
CanWriteReg(AMR1,0x0F);
CanWriteReg(AMR2,0x00);
CanWriteReg(AMR3,0x0F); 顶一下,别下层了,我也想知道怎么设置:lol 单滤波器按示例是正确的,双滤波器按说明自已设置,就是不行,也没有示例可以参考,大神有空指教,梁工在么!!!!!!!!!!! /*使用单滤波过滤器,只接收 ID=0x07fe 的报文
CanWriteReg(ACR0,0xff); //总线验收代码寄存器
CanWriteReg(ACR1,0xc0);
CanWriteReg(ACR2,0x00);
CanWriteReg(ACR3,0x00);
CanWriteReg(AMR0,0x00); //总线验收屏蔽寄存器
CanWriteReg(AMR1,0x0F);
CanWriteReg(AMR2,0xFF);
CanWriteReg(AMR3,0xFF);*/ 你的滤波设置没有问题,需要注意的是最后MR寄存器里面的滤波模式设置,要采用双滤波设置:
CanWriteReg(MR,0x00); //退出 Reset Mode, 采用双滤波设置(设置过滤器后注意选择滤波模式)
例程提供的是单滤波设置参考代码,所以最后设置的是单滤波模式:
CanWriteReg(MR,0x01); //退出 Reset Mode, 采用单滤波设置(设置过滤器后注意选择滤波模式)
非常感谢*乘风飞扬*的回复提醒,在设置单滤波模式或双滤波器模式中,最后的设置没有改回,!! MARK 一下
RX_ID1=0x03D9;RX_ID2=0X012D; //0x03D9<<5=0x7b+0x20;0X012D<<5=0x25+0xA0
这个是怎么个算法?{:4_186:} 左移就可以分解了? 同问,这个怎么算的?双滤波器指的就是能让2个ID通过?那我需要更多的ID通过怎么设置的?
页:
[1]