Skip to content

Instantly share code, notes, and snippets.

@matt448
Created February 10, 2015 02:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save matt448/80b962b8fa7d714f3afc to your computer and use it in GitHub Desktop.
Save matt448/80b962b8fa7d714f3afc to your computer and use it in GitHub Desktop.
/////////////////////////////////////////////////////////////////////
// This is a simple example of sending CAN messages with 29bit id's
//
// https://matthewcmcmillan.blogspot.com
// Twitter: @matthewmcmillan
//
#include "mcp_can.h"
#include <SPI.h>
MCP_CAN CAN(10); //CAN CS pin
int sensorPin = A0; //Pot for adusting value
int sensorValue = 0;
int cantxValue = 0;
void setup()
{
Serial.begin(115200);
// init can bus, baudrate: 500k
if(CAN.begin(CAN_500KBPS) ==CAN_OK) Serial.print("CAN init ok\r\n");
else Serial.print("CAN init failed\r\n");
}
void loop()
{
sensorValue = analogRead(sensorPin); //Read the value of the pot
cantxValue = sensorValue / 4; //Divide by 4 to get us in the 0-255 range
Serial.print("cantxValue: ");
Serial.print(cantxValue);
Serial.println();
//Create data packet for CAN message
unsigned char canMsg[8] = {cantxValue, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
// format: (id, id_type, dlc, data buf)
CAN.sendMsgBuf(0x17F8140E, 1, 8, canMsg);
delay(100);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment