проблема с can bus shield

hahabuka
Offline
Зарегистрирован: 02.11.2019

Купил шилд для подключения к can шине,подключаюсь через obd2 to db9 кабель,но проблема заключается в том что при подключении к авто,не поступает никаких данных,в чем может быть проблема? 

#include <mcp_can.h>
#include <SPI.h>

long unsigned int rxId;
unsigned char len = 0;
unsigned char rxBuf[8];

MCP_CAN CAN0(10);                               // Set CS to pin 10


void setup()
{
  Serial.begin(115200);
  CAN0.begin(CAN_250KBPS);                       // init can bus : baudrate = 500k 
  pinMode(2, INPUT);                            // Setting pin 2 for /INT input
  Serial.println("MCP2515 Library Receive Example...");
}

void loop()
{
    if(!digitalRead(2))                         // If pin 2 is low, read receive buffer
    {
      CAN0.readMsgBuf(&len, rxBuf);              // Read data: len = data length, buf = data byte(s)
      rxId = CAN0.getCanId();                    // Get message ID
      Serial.print("ID: ");
      Serial.print(rxId, HEX);
      Serial.print("  Data: ");
      for(int i = 0; i<len; i++)                // Print each byte of the data
      {
        if(rxBuf[i] < 0x10)                     // If data byte is less than 0x10, add a leading zero
        {
          Serial.print("0");
        }
        Serial.print(rxBuf[i], HEX);
        Serial.print(" ");
      }
      Serial.println();
    }
}

b707
Offline
Зарегистрирован: 26.05.2017

да в чем угодно. Вы слишком рано перешли к опытам на "живой" машине. Там столько факторов, из-за чего может не работать, что устанешь перечислять. Для начала возьмите две ардуины, подключите два КАН-адаптера и добейтесь, чтобы они посылали сообщения друг другу