MCP2515 – CanBus Communication

Ref : https://github.com/autowp/arduino-mcp2515

Code Reception

include SPI.H
include mcp2515.h
struct can_frame canMsg;
MCP2515 mcp2515(10);
void setup()
{
Serial.begin(115200);
SPI.begin();
mcp2515.reset();
mcp2515.setBitrate(CAN_500KBPS, MCP_8MHZ);
mcp2515.setNormalMode();
}
void loop()
{
if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK)
{
int x = canMsg.data[0];
int y = canMsg.data[1];
Serial.print(« can_id: »);
Serial.print( canMsg.can_id,HEX );Serial.print( » — « );
Serial.print(« Humi: « );
Serial.print(x);Serial.print( » — « );
Serial.print(« Temp: « );
Serial.println(y);
delay(50);
}
}

Code Emission

include SPI.h
include mcp2515.h
struct can_frame canMsg;
MCP2515 mcp2515(10);
void setup()
{
while (!Serial);
Serial.begin(115200);
SPI.begin();
mcp2515.reset();
mcp2515.setBitrate(CAN_500KBPS, MCP_8MHZ);
mcp2515.setNormalMode();
}
void loop()
{
canMsg.can_id = 0x040;
canMsg.can_dlc = 8;
canMsg.data[0] = 2;
canMsg.data[1] = 5;
canMsg.data[2] = 0x00;
canMsg.data[3] = 0x00;
canMsg.data[4] = 0x00;
canMsg.data[5] = 0x00;
canMsg.data[6] = 0x00;
canMsg.data[7] = 0x00;
mcp2515.sendMessage(&canMsg); //Sends the CAN message
delay(200);
}

Search

Popular Posts

  • QRZ.COM Page BIO

    Visu PDF Pages CSS .container{max-width:900px;margin:auto;font-family:Arial, Helvetica, sans-serif;} .card{background:#1e293b;color:#e5e7eb;padding:20px;border-radius:12px;margin-bottom:20px;box-shadow:0 5px 15px rgba(0,0,0,0.3);} .card h1{color:#38bdf8;margin-bottom:10px;} .card h2{color:#7dd3fc;border-bottom:1px solid #334155;padding-bottom:5px;} .badge{display:inline-block;background:#0284c7;color:white;padding:5px 10px;border-radius:8px;margin:4px 2px;font-size:14px;} .gallery {display: grid;grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));gap: 12px;margin-top: 10px;} .gallery img {width: 100%;height: auto;border-radius: 10px;box-shadow: 0 4px 10px rgba(0,0,0,0.4);}a{color:#38bdf8;} a:hover{text-decoration:underline;}#t_bio.biodiv {background-color:#FFFFFF}

Categories

Tags