Simple test CAN bus

Dependencies:   mbed

Committer:
Mamamamax
Date:
Wed May 15 16:15:52 2019 +0000
Revision:
0:bfe300f14106
Test can bus

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mamamamax 0:bfe300f14106 1 #include "mbed.h"
Mamamamax 0:bfe300f14106 2
Mamamamax 0:bfe300f14106 3 Serial pc(SERIAL_TX, SERIAL_RX);
Mamamamax 0:bfe300f14106 4 DigitalOut led(LED1);
Mamamamax 0:bfe300f14106 5 DigitalOut CanEnable(PB_12);
Mamamamax 0:bfe300f14106 6
Mamamamax 0:bfe300f14106 7 CAN CanBus(PA_11, PA_12, 1000000);
Mamamamax 0:bfe300f14106 8
Mamamamax 0:bfe300f14106 9 Ticker ticker;
Mamamamax 0:bfe300f14106 10 char counter = 0;
Mamamamax 0:bfe300f14106 11
Mamamamax 0:bfe300f14106 12 void send() {
Mamamamax 0:bfe300f14106 13 pc.printf("send()\n");
Mamamamax 0:bfe300f14106 14 if(CanBus.write(CANMessage(1337, &counter, 1))) {
Mamamamax 0:bfe300f14106 15 pc.printf("wloop()\n");
Mamamamax 0:bfe300f14106 16 counter++;
Mamamamax 0:bfe300f14106 17 pc.printf("Message sent: %d\n", counter);
Mamamamax 0:bfe300f14106 18 }
Mamamamax 0:bfe300f14106 19 led = !led;
Mamamamax 0:bfe300f14106 20 }
Mamamamax 0:bfe300f14106 21
Mamamamax 0:bfe300f14106 22
Mamamamax 0:bfe300f14106 23 int main()
Mamamamax 0:bfe300f14106 24 {
Mamamamax 0:bfe300f14106 25 pc.baud(115200);
Mamamamax 0:bfe300f14106 26 pc.printf("Hello World !\n");
Mamamamax 0:bfe300f14106 27 CanEnable = 1;
Mamamamax 0:bfe300f14106 28 wait(0.2);
Mamamamax 0:bfe300f14106 29 CanEnable = 0;
Mamamamax 0:bfe300f14106 30
Mamamamax 0:bfe300f14106 31 ticker.attach(&send, 1);
Mamamamax 0:bfe300f14106 32 CANMessage msg;
Mamamamax 0:bfe300f14106 33 while(1) {
Mamamamax 0:bfe300f14106 34 pc.printf("loop()\n");
Mamamamax 0:bfe300f14106 35 if(CanBus.read(msg)) {
Mamamamax 0:bfe300f14106 36 pc.printf("Message received: %d\n", msg.data[0]);
Mamamamax 0:bfe300f14106 37 led = !led;
Mamamamax 0:bfe300f14106 38 }
Mamamamax 0:bfe300f14106 39 wait(0.2);
Mamamamax 0:bfe300f14106 40 }
Mamamamax 0:bfe300f14106 41 }