CAN BUS "NAK"

PartiZzan
Offline
Зарегистрирован: 28.05.2018

Всем привет! Есть записанный снифером log общения между двумя приборами... При подключении arduino ведомый прибор перестает отвечать...  Появляется NAK вместо ACK... Между вумя ардуинами все работает... Приборы между собой общаются замечательно... CAN-H и CAN-L менял между собой... игрался с общей землей... отконфигурированно все под 8 мегагерц... 120Ω затычки... фронты красивые.. иногда проскакивает ACK... если я все правельно понял то ACK генерируется автоматом..?

// CAN Send Example
//

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

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

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

  if(CAN0.begin(MCP_NORMAL, CAN_250KBPS, MCP_8MHZ) == CAN_OK) Serial.println("MCP2515 Initialized Successfully!");
  else Serial.println("Error Initializing MCP2515...");

  CAN0.setMode(MCP_NORMAL);   // Change to normal mode to allow messages to be transmitted
}

byte idle[8] = {0x00, 0x2, 0x00, 0x00, 0x08, 0x06, 0x00, 0x00};
byte ping[8] = {0x05, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
byte ping2[8] = {0x6A, 0xA0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00};

  // send data:  ID = 0x100, Standard CAN Frame, Data length = 8 bytes, 'data' = array of data bytes to send
 
  

void loop()
{
   byte sndStat = CAN0.sendMsgBuf(0x0, 0, 6, idle);
  
  if(sndStat == CAN_OK){
    Serial.println("Message Sent Successfully!");
    delay(960);
    byte sndStat = CAN0.sendMsgBuf(0x608, 0, 2, ping);
   // byte sndStat = CAN0.sendMsgBuf(0x608, 0, 3, ping2);
  } else {
    Serial.println("Error Sending Message...");
    byte sndStat = CAN0.sendMsgBuf(0x0, 0, 6, idle);

  }
  delay(2000);   // send data per 
}
/******************************************************************
  END FILE
********************************************************************/

Библиотека взята тут

Буду рад любым идеям и соображениям..

 

 

PartiZzan
Offline
Зарегистрирован: 28.05.2018

А в ответ тишина...

MaksVV
Offline
Зарегистрирован: 06.08.2015

скорость точно 250 кбит? а вы не отправляйте в шину, а послушайте примером из библиотеки

MaksVV
Offline
Зарегистрирован: 06.08.2015

и где лог