Bonjours à tous.
Je n'arrive pas à afficher les données envoyées sur mon Bus CAN. Voilà ce que j'ai fait :
unsigned char Data_Id_0[1] = {0}; //Octet 1
unsigned char Data_Id_1[1] = {0}; //Octet 2
[...]
Data_Id_0[0]=0b00000001;
Data_Id_1[0]=0b00000001;
CAN.sendMsgBuf(0x00, 0, 1, Data_Id_0);
CAN.sendMsgBuf(0x00, 0, 1, Data_Id_1);
delay(1000);
// demo: CAN-BUS Shield, receive data
#include <mcp_can.h>
#include <SPI.h>
unsigned char Flag_Recv = 0;
unsigned char len = 0;
unsigned char buf[2];
char str[20];
int CAN_Id;
unsigned char Data_Id_0[1];
unsigned char Data_Id_1[1];
void setup()
{
CAN.begin(CAN_500KBPS); // init can bus : baudrate = 500k
attachInterrupt(0, MCP2515_ISR, FALLING); // start interrupt
Serial.begin(9600);
pinMode(3, OUTPUT);
}
void MCP2515_ISR()
{
Flag_Recv = 1;
}
void loop()
{
if(Flag_Recv) // check if get data
{
Flag_Recv = 0; // clear flag
Serial.println("CAN_BUS GET DATA!");
// Test XM ////////////////////////////////////////////////////////////////////////
CAN_Id = CAN.getCanId();
CAN.readMsgBuf(&len, buf); // read data, len: data length, buf: data buf
Serial.print("CAN_Id = ");
Serial.println(CAN_Id);
Serial.print("data len = ");
Serial.println(len);
Data_Id_0[0]=buf[0];
Serial.write(Data_Id_0[0]);
Data_Id_1[0]=buf[0];
Serial.write(Data_Id_1[0]);
}
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
Que faire ? Merci d'avance.