Octomini kontrolcüsünde şuanda mcp2515 canbus modüllerini birbirleriyle haberleştirmeye çalışmaktayız.Ancak şuanlık veri gelmemekte pinini github da 8 belirttiğiniz için 8 diye tanımladım .Ancak veri gelmemekte ve internetteki hazır kodlardan entegre ettik.
Alıcı kodu:
#include <mcp2515.h>
#include <SPI.h>
struct can_frame canMsg;
MCP2515 mcp2515(8);
void setup() {
// put your setup code here, to run once:
SPI.begin();
Serial.begin(9600);
mcp2515.reset();
mcp2515.setBitrate(CAN_500KBPS, MCP_8MHZ);
mcp2515.setNormalMode();
}
void loop() {
// put your main code here, to run repeatedly:
if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK)
{
int x = canMsg.data[0];
int y = canMsg.data[1];
int z=canMsg.data[2];
Serial.println(x);
Serial.println(y);
delay(1000);
}
}
verici kodu:
#include <SPI.h>
#include <mcp2515.h>
struct can_frame canMsg;
MCP2515 mcp2515(8);
void setup()
{
while (!Serial);
Serial.begin(9600);
SPI.begin();
mcp2515.reset();
mcp2515.setBitrate(CAN_500KBPS, MCP_8MHZ);
mcp2515.setNormalMode();
}
void loop(){
int x=9;
int y=10;
canMsg.can_id = 0x036;
canMsg.can_dlc = 8;
canMsg.data[0] = x;
canMsg.data[1] = y;
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);
delay(1000);
}
bu kodlarda yüklenmede bir hata oluşmadı ama veri göndermedi bu kodları inceleyebilir misiniz? veyahutta girdiğim pin mi yanlış yardımcı olabilir misiniz?