CabBus simple example using CanBus Shield V01

Dependencies:   mbed

can_example.txt

Committer:
Arkadi
Date:
2019-01-07
Revision:
0:5daadd838679

File content as of revision 0:5daadd838679:

#include "mbed.h"


Ticker ticker;
DigitalOut led1(LED1);
DigitalOut led2(LED2);
//The constructor takes in RX, and TX pin respectively.
//These pins, for this example, are defined in mbed_app.json
CAN can1(MBED_CONF_APP_CAN1_RD, MBED_CONF_APP_CAN1_TD);
CAN can2(MBED_CONF_APP_CAN2_RD, MBED_CONF_APP_CAN2_TD);

char counter = 0;

void send() {
    if(can1.write(CANMessage(1337, &counter, 1))) {
        printf("Message sent: %d\n", counter);
        counter++;
    }
    led1 = !led1;
}

int main() {
    ticker.attach(&send, 1);
   CANMessage msg;
    while(1) {
        if(can2.read(msg)) {
            printf("Message received: %d\n\n", msg.data[0]);
            led2 = !led2;
        }
        wait(0.2);
    }
}