If you are doing infrequent reads then bear in mind that the MCP2515 is always receiving data and has a 2 message receive buffer that once full stays that way until you read it. Doing a read always pulls data from the buffer, so if you want up to date data you need to read and discard the first two messages and then wait for a new one to arrive.