Problem with Seeedstudio CAN-BUS shield with Arduino Uno R3


I just got a a Seeedstudio CAN-BUS shield that I've mounted on a Arduino Uno R3. I need to get the CAN communication working with 125kbit and here the problem starts. I connected the CAN shield with a Microchip CAN Analyzer and used the library mcp_can I don't have any problems communicating with bitrates such 100, 250 and 500. But for some reason it doesn't work with 125kbit which is the bitrate I need. The only code I've changed is CAN.begin(CAN_500KBPS); to CAN.begin(CAN_125KBPS);

Any suggestions what could be the problem?

Thanks for any help /William

Hi again, I managed to fix the problem. For anyone who has the same issue with getting CAN working for 125kbit you can do the following.

Update the mcp_can_dfs.h file with:

define MCP_16MHz_125kBPS_CFG1 (0x03)

define MCP_16MHz_125kBPS_CFG2 (0xb8)

define MCP_16MHz_125kBPS_CFG3 (0x05)

Regards, William

Hallo, i have the same problem with 125kBPS and already did this changes recommended, but it is still not working. Any other suggestions?


Sorry, it was my probem, it is really working with these values. Thanks