beginTransmission()

描述

初始化傳送狀態。注意:此函式的用法和 Wire 函式庫中的 beginTransmission() 類似,你必須在後面緊接著呼叫 write()endTransmission(),才能完成一次傳送行為。

語法


CAN.beginTransmission(id)
CAN.beginTransmission(id, ext)

參數

id:外部 CAN device 的 ID 編號
ext:傳送資料的格式。此參數是非必要的,如果沒有輸入此參數,預設值是 CAN_STDID。

  1. CAN_STDID:標準資料幀,符合 CAN 2.0A 規範,ID 範圍:0 ~ 0x7FF
  2. CAN_EXTID:擴展資料幀,使用 CAN 2.0B 規範,ID 範圍:0 ~ 0x1FFFFFFF
  3. CAN_STDID_REMOTE:標準遠端幀,符合 CAN 2.0A 規範,ID 範圍:0 ~ 0x7FF
  4. CAN_EXTID_REMOTE:擴展遠端幀,符合 CAN 2.0B 規範,ID 範圍:0 ~ 0x1FFFFFFF

回傳

無回傳值

範例

#include <CANBus.h>
unsigned char buf[8] = {0, 1, 2, 3, 4, 5, 6, 7};

void setup() {
    Serial.begin(115200);
    CAN.begin(CAN_500KBPS); // 設定 CAN 的傳輸速度為 500KBPS
}

void loop() {
    CAN.beginTransmission(0x00);               // 外部 CAN device 的 ID 為 0x00,使用標準資料幀
    CAN.write(buf, 8);                         // 送出 8 bytes 資料
    CAN.endTransmission();                     // 結束傳送
    delay(10);
}

See also

write()
endTransmission()


函式庫參考主頁面

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.