CAN_ex_1

Dependencies:   mbed

Committer:
lscordovar
Date:
Thu Jan 17 22:05:53 2019 +0000
Revision:
3:9d2d0b0189be
Parent:
2:d6cbcdb04ada
Ejemplo CAN

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mab5449 0:06f428d689e4 1 #include "mbed.h"
mab5449 0:06f428d689e4 2
lscordovar 3:9d2d0b0189be 3 //#if defined (DEVICE_CAN) || defined(DOXYGEN_ONLY)
aashishc1988 2:d6cbcdb04ada 4
mab5449 0:06f428d689e4 5 Ticker ticker;
lscordovar 3:9d2d0b0189be 6 DigitalOut led1(PD_12);
lscordovar 3:9d2d0b0189be 7 DigitalOut led2(PD_14);
aashishc1988 2:d6cbcdb04ada 8 /** The constructor takes in RX, and TX pin respectively.
aashishc1988 2:d6cbcdb04ada 9 * These pins, for this example, are defined in mbed_app.json
aashishc1988 2:d6cbcdb04ada 10 */
lscordovar 3:9d2d0b0189be 11 CAN can1(PD_0, PD_1);
lscordovar 3:9d2d0b0189be 12 //CAN can2(PB_5, PB_6);
lscordovar 3:9d2d0b0189be 13
mab5449 0:06f428d689e4 14 char counter = 0;
mab5449 0:06f428d689e4 15
mab5449 0:06f428d689e4 16 void send() {
mab5449 0:06f428d689e4 17 printf("send()\n");
mab5449 1:5791101761f9 18 if(can1.write(CANMessage(1337, &counter, 1))) {
mab5449 0:06f428d689e4 19 printf("wloop()\n");
mab5449 0:06f428d689e4 20 counter++;
mab5449 0:06f428d689e4 21 printf("Message sent: %d\n", counter);
mab5449 0:06f428d689e4 22 }
mab5449 0:06f428d689e4 23 led1 = !led1;
mab5449 0:06f428d689e4 24 }
mab5449 0:06f428d689e4 25
mab5449 0:06f428d689e4 26 int main() {
mab5449 0:06f428d689e4 27 printf("main()\n");
mab5449 1:5791101761f9 28 ticker.attach(&send, 1);
mab5449 0:06f428d689e4 29 CANMessage msg;
mab5449 0:06f428d689e4 30 while(1) {
mab5449 0:06f428d689e4 31 printf("loop()\n");
lscordovar 3:9d2d0b0189be 32 if(can1.read(msg)) {
mab5449 0:06f428d689e4 33 printf("Message received: %d\n", msg.data[0]);
mab5449 0:06f428d689e4 34 led2 = !led2;
mab5449 0:06f428d689e4 35 }
mab5449 0:06f428d689e4 36 wait(0.2);
mab5449 0:06f428d689e4 37 }
mab5449 0:06f428d689e4 38 }
lscordovar 3:9d2d0b0189be 39 /*
aashishc1988 2:d6cbcdb04ada 40 #else
aashishc1988 2:d6cbcdb04ada 41 #error CAN NOT SUPPORTED
aashishc1988 2:d6cbcdb04ada 42
aashishc1988 2:d6cbcdb04ada 43 #endif
lscordovar 3:9d2d0b0189be 44 */