From a7eee0d6095433f7dc139fb224a79efd56d86673 Mon Sep 17 00:00:00 2001 From: wangcoolc <1387172050@163.com> Date: Mon, 7 Dec 2020 19:45:28 +0800 Subject: [PATCH] complete canbus recv sd example --- examples/recv_sd/recv_sd.ino | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/examples/recv_sd/recv_sd.ino b/examples/recv_sd/recv_sd.ino index 8e6e222..c26eaa4 100644 --- a/examples/recv_sd/recv_sd.ino +++ b/examples/recv_sd/recv_sd.ino @@ -4,7 +4,7 @@ // loovee, Jun 12, 2017 #include -#include "mcp_can.h" +#include "mcp2518fd_can.h" #include /*SAMD core*/ @@ -18,10 +18,10 @@ File myFile; // the cs pin of the version after v1.1 is default to D9 // v0.9b and v1.0 is default D10 -const int SPI_CS_CAN = 9; +const int SPI_CS_PIN = BCM8; const int SPI_CS_SD = 4; -MCP_CAN CAN(SPI_CS_CAN); // Set CS pin +mcp2518fd* controller; // Set CS pin unsigned char flagRecv = 0; unsigned char len = 0; @@ -30,8 +30,10 @@ char str[20]; void setup() { SERIAL.begin(115200); - - while (CAN_OK != CAN.begin(CAN_500KBPS)) { // init can bus : baudrate = 500k + while(!Serial){}; + controller = new mcp2518fd(); + controller->mcp_canbus(SPI_CS_PIN); + while (CAN_OK != controller->begin((byte)CAN_500K_1M)) { // init can bus : baudrate = 500k SERIAL.println("CAN BUS Shield init fail"); SERIAL.println("Init CAN BUS Shield again"); delay(100); @@ -64,9 +66,9 @@ void loop() { // If either the bus is saturated or the MCU is busy, // both RX buffers may be in use and reading a single // message does not clear the IRQ conditon. - while (CAN_MSGAVAIL == CAN.checkReceive()) { + while (1 == controller->checkReceive()) { // read data, len: data length, buf: data buf - CAN.readMsgBufID(&id, &len, buf); + controller->readMsgBufID(&len, buf); SERIAL.print(id); SERIAL.print(","); @@ -88,4 +90,4 @@ void loop() { } } -// END FILE \ No newline at end of file +// END FILE