CAN.readMsgBuf()

[CANBus]

Description

Function to read data from the CAN bus. (This function is created referencing the CAN bus library from Seeed Studio, Depending on your preferences, you can use this function to read data instead of the requestFrom() and read() function.)
Note: This function is used in conjunction with the checkReceive() function.

Syntax

CAN.readMsgBuf(&len, buf)

Parameters

  • len: Length of data in the buffer (number of byte), an unsigned char variable.
  • buf: Received data (character array)

Returns

  • CAN_OK: Data is read
  • CAN_NOMSG: Did not read any data

Examples

#include <CANBus.h>
unsigned char len = 0;
unsigned char buf[8];
 
void setup() {
    Serial.begin(115200);
    CAN.begin(CAN_500KBPS);
}
 
void loop() {
    if(CAN_MSGAVAIL == CAN.checkReceive())            // Check to see whether data is read
    {
        CAN.readMsgBuf(&len, buf);    // Read data
 
        for(int i = 0; i<len; i++)    // Output data value
        {
            Serial.print(buf[i]);
            Serial.print("\t");
        }
        Serial.println();
    }
}

See also


Libraries Reference Home

The text of the 86Duino reference is a modification of the Arduino reference and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.

Leave a Comment

Scroll to Top