There are two way to check if the canbus shield receive data, interrupt or check by a a function: CAN.checkReceive() . When there is some data coming, this will return CAN_MSGAVAIL(no data coming is CAN_NOMSG ).
I found that when the data is too fast, such as less than 10ms, the interrupt way will cause some problem. But you can use the other way, checkReceive(). you can try the following test code:
Hello guys i have the same problem i have a can bus shield v1.2 and a opel astra car, if i only want to receive data it works fine, when i try to send data the checkerror() it show 0 0 then 5 CAN_CTRLERROR. Can someone please help me? Almost forgot i use a arduino uno and the SPI_CS_PIN = 9;