Luis Silvio Cordova Rivadeneira
/
CAN_ex_1
CAN_ex_1
main.cpp@3:9d2d0b0189be, 2019-01-17 (annotated)
- 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?
User | Revision | Line number | New 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 | */ |