readMsgBuf()

描述

從 CAN bus 上讀取資料。(此函式移植自 Seeed Studio 的 CAN Bus 函式庫 ,您可依據您的習慣或喜好,改用此函式讀取資料,而不使用requestFrom()read()。注意:此函式需配合 checkReceive() 使用。)

語法


CAN.readMsgBuf(&len, buf)

參數

len:unsigned char 型別的變數,用來接收被讀到 buffer 內的 byte 數
buf:接收資料的字元陣列

回傳

CAN_OK:有讀到資料(至少一筆)
CAN_NOMSG:沒有讀到任何資料

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())            // 檢查是否有收到資料
    {
        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.