Simulateur CAN 1.0
Dependencies: mbed
Fork of CAN by
main.cpp@0:cea062e60f85, 2017-03-23 (annotated)
- Committer:
- LabSE
- Date:
- Thu Mar 23 15:57:59 2017 +0000
- Revision:
- 0:cea062e60f85
- Child:
- 1:f961845c25eb
can
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
LabSE | 0:cea062e60f85 | 1 | #include "mbed.h" |
LabSE | 0:cea062e60f85 | 2 | |
LabSE | 0:cea062e60f85 | 3 | Ticker ticker; |
LabSE | 0:cea062e60f85 | 4 | DigitalOut led1(LED1); |
LabSE | 0:cea062e60f85 | 5 | DigitalOut led2(LED2); |
LabSE | 0:cea062e60f85 | 6 | DigitalOut led3(LED3); |
LabSE | 0:cea062e60f85 | 7 | CAN can1(p9 , p10); |
LabSE | 0:cea062e60f85 | 8 | CAN can2(p30, p29); |
LabSE | 0:cea062e60f85 | 9 | char counter = 0; |
LabSE | 0:cea062e60f85 | 10 | |
LabSE | 0:cea062e60f85 | 11 | void send() { |
LabSE | 0:cea062e60f85 | 12 | printf("send()\r\n"); |
LabSE | 0:cea062e60f85 | 13 | if(can1.write(CANMessage(1100, &counter, 1))) { |
LabSE | 0:cea062e60f85 | 14 | printf("loop send()\r\n"); |
LabSE | 0:cea062e60f85 | 15 | counter++; |
LabSE | 0:cea062e60f85 | 16 | printf("Message sent: %d\r\n", counter); |
LabSE | 0:cea062e60f85 | 17 | led1 = !led1; |
LabSE | 0:cea062e60f85 | 18 | } |
LabSE | 0:cea062e60f85 | 19 | } |
LabSE | 0:cea062e60f85 | 20 | |
LabSE | 0:cea062e60f85 | 21 | int main() { |
LabSE | 0:cea062e60f85 | 22 | ticker.attach(&send, 2); |
LabSE | 0:cea062e60f85 | 23 | CANMessage msg; |
LabSE | 0:cea062e60f85 | 24 | while(1) { |
LabSE | 0:cea062e60f85 | 25 | printf("loop wait()\r\n"); |
LabSE | 0:cea062e60f85 | 26 | if(can2.read(msg)) { |
LabSE | 0:cea062e60f85 | 27 | printf("Message received: %d, from %d\r\n", msg.data[0], msg.id); |
LabSE | 0:cea062e60f85 | 28 | if(msg.id==1100) |
LabSE | 0:cea062e60f85 | 29 | led2 = !led2; |
LabSE | 0:cea062e60f85 | 30 | if(msg.id==1102) |
LabSE | 0:cea062e60f85 | 31 | led3 = !led3; |
LabSE | 0:cea062e60f85 | 32 | } |
LabSE | 0:cea062e60f85 | 33 | wait(0.5); |
LabSE | 0:cea062e60f85 | 34 | } |
LabSE | 0:cea062e60f85 | 35 | } |