I want to receive an extended CAN-Message. I send a extended CAN-Message, but nothing happens. Maybe somebody have an idea what the problem is..

It works with a standard CAN-Message.

Thanks in advance.

// demo: CAN-BUS Shield, send data
// loovee@seeed.cc

#include <mcp_can.h>
#include <SPI.h>

// the cs pin of the version after v1.1 is default to D9
// v0.9b and v1.0 is default D10
const int SPI_CS_PIN = 9;

MCP_CAN CAN(SPI_CS_PIN);                                    // Set CS pin

void setup()

    while (CAN_OK != CAN.begin(CAN_250KBPS))              // init can bus : baudrate = 250k


        Serial.println("CAN BUS Shield init fail");
        Serial.println(" Init CAN BUS Shield again");
    Serial.println("CAN BUS Shield init ok!");

unsigned char len = 0;
unsigned char buf[30];

void loop()
    CAN.readMsgBuf(&len, buf);    // read data,  len: data length, buf: data buf
    unsigned long canId = CAN.getCanId();
    Serial.print("Get Data from ID: 0x");
    Serial.println(canId, HEX);
    Serial.println("Data content:");
    for(int i = 0; i<len; i++) // print the data
  • What happens if you remove the filter and the mask? – oh.dae.su Jan 8 at 12:17
  • It change nothing. – user52806 Jan 8 at 12:19
  • Maybe this discussion can help you: github.com/Seeed-Studio/CAN_BUS_Shield/issues/39 – oh.dae.su Jan 8 at 12:28
  • Unfortunately, I found this discussion, but nothing changed. – user52806 Jan 8 at 12:32
  • How do you send the message? With the same Can-shield on a different Arduino? If yes, can you post code of the sender? I assume you don't have any other device to verify, if the extended frame is actually sent to the bus? – oh.dae.su Jan 8 at 12:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy