Michael Allan
/
CANTest
FBR CAN bus testing program
main.cpp@0:ec1cf6fd7dea, 2013-01-31 (annotated)
- Committer:
- intrinseca
- Date:
- Thu Jan 31 16:40:32 2013 +0000
- Revision:
- 0:ec1cf6fd7dea
Basic CAN testing program
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
intrinseca | 0:ec1cf6fd7dea | 1 | #include "mbed.h" |
intrinseca | 0:ec1cf6fd7dea | 2 | |
intrinseca | 0:ec1cf6fd7dea | 3 | Ticker ticker; |
intrinseca | 0:ec1cf6fd7dea | 4 | DigitalOut led1(LED1); |
intrinseca | 0:ec1cf6fd7dea | 5 | DigitalOut led2(LED2); |
intrinseca | 0:ec1cf6fd7dea | 6 | DigitalOut led3(LED3); |
intrinseca | 0:ec1cf6fd7dea | 7 | CAN can1(p30, p29); |
intrinseca | 0:ec1cf6fd7dea | 8 | char counter = 0; |
intrinseca | 0:ec1cf6fd7dea | 9 | |
intrinseca | 0:ec1cf6fd7dea | 10 | void send() { |
intrinseca | 0:ec1cf6fd7dea | 11 | if(can1.write(CANMessage(1337, &counter, 1))) { |
intrinseca | 0:ec1cf6fd7dea | 12 | led2 = !led2; |
intrinseca | 0:ec1cf6fd7dea | 13 | } |
intrinseca | 0:ec1cf6fd7dea | 14 | |
intrinseca | 0:ec1cf6fd7dea | 15 | led1 = !led1; |
intrinseca | 0:ec1cf6fd7dea | 16 | } |
intrinseca | 0:ec1cf6fd7dea | 17 | |
intrinseca | 0:ec1cf6fd7dea | 18 | int main() { |
intrinseca | 0:ec1cf6fd7dea | 19 | ticker.attach(&send, 1); |
intrinseca | 0:ec1cf6fd7dea | 20 | CANMessage msg; |
intrinseca | 0:ec1cf6fd7dea | 21 | can1.frequency(250000); |
intrinseca | 0:ec1cf6fd7dea | 22 | |
intrinseca | 0:ec1cf6fd7dea | 23 | int i = 0; |
intrinseca | 0:ec1cf6fd7dea | 24 | |
intrinseca | 0:ec1cf6fd7dea | 25 | while(1) { |
intrinseca | 0:ec1cf6fd7dea | 26 | if(can1.read(msg)) { |
intrinseca | 0:ec1cf6fd7dea | 27 | counter++; |
intrinseca | 0:ec1cf6fd7dea | 28 | led3 = !led3; |
intrinseca | 0:ec1cf6fd7dea | 29 | } |
intrinseca | 0:ec1cf6fd7dea | 30 | |
intrinseca | 0:ec1cf6fd7dea | 31 | wait(0.2); |
intrinseca | 0:ec1cf6fd7dea | 32 | } |
intrinseca | 0:ec1cf6fd7dea | 33 | } |