CabBus simple example using CanBus Shield V01

Dependencies:   mbed

Committer:
Arkadi
Date:
Mon Jan 07 15:24:52 2019 +0000
Revision:
0:5daadd838679
Simple can bus example using CanBus shield v01 and stm32F303k8

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Arkadi 0:5daadd838679 1 #include "mbed.h"
Arkadi 0:5daadd838679 2
Arkadi 0:5daadd838679 3
Arkadi 0:5daadd838679 4 Ticker ticker;
Arkadi 0:5daadd838679 5 DigitalOut led1(LED1);
Arkadi 0:5daadd838679 6 DigitalOut led2(LED2);
Arkadi 0:5daadd838679 7 //The constructor takes in RX, and TX pin respectively.
Arkadi 0:5daadd838679 8 //These pins, for this example, are defined in mbed_app.json
Arkadi 0:5daadd838679 9 CAN can1(MBED_CONF_APP_CAN1_RD, MBED_CONF_APP_CAN1_TD);
Arkadi 0:5daadd838679 10 CAN can2(MBED_CONF_APP_CAN2_RD, MBED_CONF_APP_CAN2_TD);
Arkadi 0:5daadd838679 11
Arkadi 0:5daadd838679 12 char counter = 0;
Arkadi 0:5daadd838679 13
Arkadi 0:5daadd838679 14 void send() {
Arkadi 0:5daadd838679 15 if(can1.write(CANMessage(1337, &counter, 1))) {
Arkadi 0:5daadd838679 16 printf("Message sent: %d\n", counter);
Arkadi 0:5daadd838679 17 counter++;
Arkadi 0:5daadd838679 18 }
Arkadi 0:5daadd838679 19 led1 = !led1;
Arkadi 0:5daadd838679 20 }
Arkadi 0:5daadd838679 21
Arkadi 0:5daadd838679 22 int main() {
Arkadi 0:5daadd838679 23 ticker.attach(&send, 1);
Arkadi 0:5daadd838679 24 CANMessage msg;
Arkadi 0:5daadd838679 25 while(1) {
Arkadi 0:5daadd838679 26 if(can2.read(msg)) {
Arkadi 0:5daadd838679 27 printf("Message received: %d\n\n", msg.data[0]);
Arkadi 0:5daadd838679 28 led2 = !led2;
Arkadi 0:5daadd838679 29 }
Arkadi 0:5daadd838679 30 wait(0.2);
Arkadi 0:5daadd838679 31 }
Arkadi 0:5daadd838679 32 }