readMsgBuf()

描述

从 CAN bus 上读取资料。(此函式移植自 Seeed Studio 的 CAN Bus 函式库,您可依据您的习惯或喜好,改用此函式读取资料,而不使用 requestFrom()read()。注意:此函式需配合 checkReceive() 使用。)

语法


CAN.readMsgBuf(&len, buf)

参数

len:unsigned char 型别的变数,用来接收被读到 buf 内的 byte 数
buf:接收资料的字元阵列

回传

CAN_OK:有读到资料(至少一笔)
CAN_NOMSG:没有读到任何资料

范例

#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())            // 检查是否有收到资料
    {
        CAN.readMsgBuf(&len, buf);    // 读取资料

        for(int i = 0; i<len; i++)    // 印出资料值
        {
            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.