Kaspars D
/
CAN-node-loop
Testing CAN network with two nodes in loopback
main.cpp@1:f3252017074f, 2013-01-07 (annotated)
- Committer:
- kaspars
- Date:
- Mon Jan 07 20:01:42 2013 +0000
- Revision:
- 1:f3252017074f
- Parent:
- 0:7db10104e3a4
Add propper line breaks
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kaspars | 0:7db10104e3a4 | 1 | #include "mbed.h" |
kaspars | 0:7db10104e3a4 | 2 | |
kaspars | 0:7db10104e3a4 | 3 | Ticker ticker; |
kaspars | 0:7db10104e3a4 | 4 | DigitalOut led1(LED1); |
kaspars | 0:7db10104e3a4 | 5 | DigitalOut led2(LED2); |
kaspars | 0:7db10104e3a4 | 6 | CAN can1(p9, p10); |
kaspars | 0:7db10104e3a4 | 7 | CAN can2(p30, p29); |
kaspars | 0:7db10104e3a4 | 8 | char counter = 0; |
kaspars | 0:7db10104e3a4 | 9 | |
kaspars | 0:7db10104e3a4 | 10 | void send() { |
kaspars | 0:7db10104e3a4 | 11 | if(can1.write(CANMessage(1337, &counter, 1))) { |
kaspars | 0:7db10104e3a4 | 12 | counter++; |
kaspars | 1:f3252017074f | 13 | printf("Message sent: %d\r\n", counter); |
kaspars | 0:7db10104e3a4 | 14 | } |
kaspars | 0:7db10104e3a4 | 15 | |
kaspars | 0:7db10104e3a4 | 16 | printf("CAN1 rderror: %d, tderror: %d\r\n", can1.rderror(), can1.tderror() ); |
kaspars | 0:7db10104e3a4 | 17 | printf("CAN2 rderror: %d, tderror: %d\r\n", can2.rderror(), can2.tderror() ); |
kaspars | 0:7db10104e3a4 | 18 | |
kaspars | 0:7db10104e3a4 | 19 | led1 = !led1; |
kaspars | 0:7db10104e3a4 | 20 | } |
kaspars | 0:7db10104e3a4 | 21 | |
kaspars | 0:7db10104e3a4 | 22 | int main() { |
kaspars | 0:7db10104e3a4 | 23 | ticker.attach(&send, 1); |
kaspars | 0:7db10104e3a4 | 24 | CANMessage msg; |
kaspars | 0:7db10104e3a4 | 25 | while(1) { |
kaspars | 0:7db10104e3a4 | 26 | if(can2.read(msg)) { |
kaspars | 1:f3252017074f | 27 | printf("Message received: %d\r\n", msg.data[0]); |
kaspars | 0:7db10104e3a4 | 28 | led2 = !led2; |
kaspars | 0:7db10104e3a4 | 29 | } |
kaspars | 0:7db10104e3a4 | 30 | wait(0.2); |
kaspars | 0:7db10104e3a4 | 31 | } |
kaspars | 0:7db10104e3a4 | 32 | } |