void loop() { CAN_msg_t CAN_TX_msg; CAN_msg_t CAN_RX_msg; CAN_TX_msg.data[0] = 0x00; CAN_TX_msg.data[1] = 0x01; CAN_TX_msg.data[2] = 0x02; CAN_TX_msg.data[3] = 0x03; CAN_TX_msg.data[4] = 0x04; CAN_TX_msg.data[5] = 0x05; CAN_TX_msg.data[6] = 0x06; CAN_TX_msg.data[7] = 0x07; CAN_TX_msg.len = frameLength; unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis; if ( ( counter % 2) == 0) { CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x32F103; } else { CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = STANDARD_FORMAT; CAN_TX_msg.id = 0x103; } CANSend(&CAN_TX_msg); frameLength++; if (frameLength == 9) frameLength = 0; counter++; } if(CANMsgAvail()) { CANReceive(&CAN_RX_msg); if (CAN_RX_msg.format == EXTENDED_FORMAT) { Serial.print("Extended ID: 0x"); if (CAN_RX_msg.id < 0x10000000) Serial.print("0"); if (CAN_RX_msg.id < 0x1000000) Serial.print("00"); if (CAN_RX_msg.id < 0x100000) Serial.print("000"); if (CAN_RX_msg.id < 0x10000) Serial.print("0000"); Serial.print(CAN_RX_msg.id, HEX); } else { Serial.print("Standard ID: 0x"); if (CAN_RX_msg.id < 0x100) Serial.print("0"); if (CAN_RX_msg.id < 0x10) Serial.print("00"); Serial.print(CAN_RX_msg.id, HEX); Serial.print(" "); } Serial.print(" DLC: "); Serial.print(CAN_RX_msg.len); if (CAN_RX_msg.type == DATA_FRAME) { Serial.print(" Data: "); for(int i=0; i