and yes you can use an SD card reader and also the CAN interface on the same bus. You are going to have to have a cable select pin set up for each device and when you want that device to listen you turn off the select pin for that device. When finished turn it back on.
errr I think it's off is selected for use and on is idle.You would have to double check that, been a while since I have used SPI.
yes...we all know how SPI works. Obviously you need chip-select lines for each slave................
Im guessing you havent actually tried using an SD card in 1-bit SPI mode and an MCP2515 together on the same bus in real life since you're just giving elementary level answers that are better suited for an Arduino website.
Sometimes real life applications dont work they way they're supposed to, sometimes certain SPI slaves dont exactly follow protocol. Sometimes slaves dont tri-state their MISO outputs, sometimes they output garbage on power up, etc.
Im saying this because prototyping on the bench, im having some issues getting them to both work together. The SD card seems to initialize correctly, but when working side-by-side with the MCP2515, I have to read the SD card twice after suspending MCP2515 communications. The first read returns a 0x107 or 0x108 error.
So obviously theres something in software or hardware that is preventing them from coexisting seamlessly.