Показать сообщение отдельно
Старый 06.08.2015, 21:08   #3
heilwood
Новый Пользователь
 
Регистрация: 06.08.2015
Возраст: 35
Регион: 43
Сообщений: 12
heilwood is on a distinguished road
По умолчанию

Остальные кнопки на руле с уникальном ID, проверял на круиз контроле. На arduino в serial monitor выдается тоже самое, что и в мой сниффер, проверял. Сообщение фильтруется по CAN-ID и появляется исключительно при нажатии кнопки, это тоже точно, тогда вопрос, может ли быть на одну кнопку два сообщения? И второй вопрос кто бы мог посмотреть мой arduino sketch, может проблема в нём?

Цитата:
#include <SPI.h>
#include "mcp_can.h"

const int SPI_CS_PIN = 10;

MCP_CAN CAN(SPI_CS_PIN); // Set CS pin

void setup()
{
Serial.begin(115200);

START_INIT:

if(CAN_OK == CAN.begin(CAN_125KBPS)) // init can bus : baudrate = 500k
{
Serial.println("CAN BUS Shield init ok!");
}
else
{
Serial.println("CAN BUS Shield init fail");
Serial.println("Init CAN BUS Shield again");
delay(100);
goto START_INIT;
}
}


void loop()
{
unsigned char len = 0;
unsigned char buf[8];

if(CAN_MSGAVAIL == CAN.checkReceive()) // check if data coming
{
CAN.readMsgBuf(&len, buf); // read data, len: data length, buf: data buf

unsigned char canId = CAN.getCanId();

Serial.print(canId);
Serial.print(",")

for(int i = 0; i<len; i++) // print the data
{
Serial.print(buf[i]);
Serial.print("\t");
}
Serial.println();
}
}
heilwood вне форума   Ответить с цитированием