好久没用2515了,之前的使用设置如下:
对每一个filter单独配置
/* filterBuf for Buffer 0 */
filterBuf[0] = P_10ms_SIDH;
filterBuf[1] = P_10ms_SIDL;
filterBuf[2] = P_10ms_EID8;
filterBuf[3] = P_10ms_EID0;
mcp2515_write_register_p( RXF0SIDH, filterBuf, 4 );
mcp2515_write_register_p( RXF1SIDH, filterBuf, 4 );
/* filterBuf for Buffer 1 */
filterBuf[0] = P_XX_SIDH;
filterBuf[1] = P_XX_SIDL;
filterBuf[2] = P_XX_EID8;
filterBuf[3] = 0xF3;//P_XX_EID0;
mcp2515_write_register_p( RXF2SIDH, filterBuf, 4 );
filterBuf[3] = 0xF4;//P_XX_EID0;
mcp2515_write_register_p( RXF3SIDH, filterBuf, 4 );
filterBuf[3] = 0xD0; //0xF0//P_XX_EID0;
mcp2515_write_register_p( RXF4SIDH, filterBuf, 4 );
filterBuf[3] = 0xEF;//P_XX_EID0;
mcp2515_write_register_p( RXF5SIDH, filterBuf, 4 );
filterBuf[0] = P_MASK10ms_SIDH;
filterBuf[1] = P_MASK10ms_SIDL;
filterBuf[2] = P_MASK10ms_EID8;
filterBuf[3] = P_MASK10ms_EID0;
/* Maske for Buffer 0 */
mcp2515_write_register_p( RXM0SIDH, filterBuf, 4 );
/* Maske for Buffer 1 */
filterBuf[0] = P_MASK_SIDH;
filterBuf[1] = P_MASK_SIDL;
filterBuf[2] = P_MASK_EID8;
filterBuf[3] = 0xDF;//P_MASK_EID0;
mcp2515_write_register_p( RXM1SIDH, filterBuf, 4 );
|