]> git.gir.st - tmk_keyboard.git/blob - tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/can/main.cpp
Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8'
[tmk_keyboard.git] / tmk_core / tool / mbed / mbed-sdk / libraries / tests / mbed / can / main.cpp
1 #include "mbed.h"
2
3 Ticker ticker;
4 DigitalOut led1(LED1);
5 DigitalOut led2(LED2);
6
7 #if defined(TARGET_LPC1549)
8 // LPC1549 support only single CAN channel
9 CAN can1(D2, D3);
10 #else
11 CAN can1(p9, p10);
12 #endif
13
14 #if defined(TARGET_LPC4088) || defined(TARGET_LPC4088_DM)
15 CAN can2(p34, p33);
16 #elif defined (TARGET_LPC1768)
17 CAN can2(p30, p29);
18 #endif
19 char counter = 0;
20
21 void printmsg(char *title, CANMessage *msg) {
22 printf("%s [%03X]", title, msg->id);
23 for(char i = 0; i < msg->len; i++) {
24 printf(" %02X", msg->data[i]);
25 }
26 printf("\n");
27 }
28
29 void send() {
30 printf("send()\n");
31 CANMessage msg = CANMessage(1337, &counter, 1);
32 if(can1.write(msg)) {
33 printmsg("Tx message:", &msg);
34 counter++;
35 }
36 led1 = !led1;
37 }
38
39 int main() {
40 printf("main()\n");
41 ticker.attach(&send, 1);
42 CANMessage msg;
43 while(1) {
44 #if !defined(TARGET_LPC1549)
45 printf("loop()\n");
46 if(can2.read(msg)) {
47 printmsg("Rx message:", &msg);
48 led2 = !led2;
49 }
50 #endif
51 wait(0.2);
52 }
53 }
Imprint / Impressum