Тема: CITROEN-ARDUINO
Показать сообщение отдельно
Старый 14.07.2015, 00:46   #1
T_r_D
Старший Пользователь
 
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
T_r_D is a jewel in the roughT_r_D is a jewel in the roughT_r_D is a jewel in the rough
По умолчанию CITROEN-ARDUINO

Народ, а кто нить дружил 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?

Поделитесь кто что знает!
Я в этом совсем новенький.

Последний раз редактировалось admin; 29.03.2016 в 12:34.
T_r_D вне форума   Ответить с цитированием