屏蔽验收代码寄存器参考例子设置:
- CanWriteReg(MR ,0x04); //使能 Reset Mode
- CANSetBaudrate(); //设置波特率
-
- CanWriteReg(ACR0,0x5A); //总线验收代码寄存器
- CanWriteReg(ACR1,0x00);
- CanWriteReg(ACR2,0x5A);
- CanWriteReg(ACR3,0x40);
- CanWriteReg(AMR0,0x00); //总线验收屏蔽寄存器
- CanWriteReg(AMR1,0x0F);
- CanWriteReg(AMR2,0x00);
- CanWriteReg(AMR3,0x0F);
-
- CanWriteReg(IMR ,0xff); //中断寄存器
- CanWriteReg(ISR ,0xff); //清中断标志
- CanWriteReg(MR ,0x00); //退出 Reset Mode, 双滤波模式
- CANICR = 0x02; //CAN中断使能
复制代码
AMRx寄存器相关位置0,无关位置1。
ACRx寄存器相关位设置需要接收的ID值,无关位随便设(例子置0)。
测试结果,CAN1只接收ID=0x2D0与0x2D2的报文:
|