Народ, а кто нить дружил Citroen с
Arduino+CAN Shield?
Толи я чего-то не понимаю, толи я что-то не правильно делаю.
#include <SPI.h>
#include "mcp_can.h"
MCP_CAN CAN(10);
unsigned char len = 0;
unsigned char buf[8];
INT32U canId = 0x000;
void setup()
{
Serial.begin(115200);
START_INIT:
if(CAN_OK == CAN.begin(CAN_500KBPS,MCP_8MHz))
{
Serial.println("Init OK!");
}
else
{
Serial.println("Init fail");
delay(100);
goto START_INIT;
}
}
void loop()
{
if(CAN_MSGAVAIL == CAN.checkReceive()) // check if data coming
{
CAN.readMsgBuf(&len, buf);
canId = CAN.getCanId();
// unsigned long canId = CAN.getCanId();
Serial.print("<");Serial.print(canId);Serial.print (",");
for(int i = 0; i<len; i++)
{
Serial.print(buf[i]);Serial.print(",");
}
Serial.print(">");
Serial.println();
}
}
Пытаюсь отловить обороты. Но получаю на выходе при чтение что-то типо
8 : 1C F0 32 0 4C 30 0 32
68 : 0 0 FF
D : 0 0 0 0 0 0 0 B
8 : 1C F0 31 0 4C 30 0 32
48 : 0 30 2 42 C8 3 1 0
5 : 7F FF 0 5 58 0
5 : 7F FF 1 85 D9 0
8 : 1C F0 31 0 4C 30 0 32
32 : 81 5B 48 FE 0 0
68 : 0 0 FF
D : 0 0 0 0 0 0 0 C
92 : 0 0 0
8 : 1C F2 31 0 4C 30 0 32
48 : 0 30 2 42 C8 3 1 0
5 : 7F FF 0 5 6B 0
12 : 73 20 1 3D 0
4D : 0 0 0 0 0 0 0 0
И не одного упоминания о 0C Обороты двигателя (Engine RPM)!
И почему такие короткие ID у сообщений?
Я чего-то не дописал или у ситроенов обороты под другим ID?
Поделитесь кто что знает!
Я в этом совсем новенький.