readMsgBuf()

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

init_Filt()
init_Mask()
checkReceive()


函式庫參考主頁面

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