can

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002  
00003 Ticker ticker;
00004 DigitalOut led1(LED1);
00005 DigitalOut led2(LED2);
00006 DigitalOut led3(LED3);
00007 CAN can1(p9 , p10);
00008 CAN can2(p30, p29);
00009 char counter = 0;
00010  
00011 void send() {
00012     printf("send()\r\n");
00013     if(can1.write(CANMessage(1100, &counter, 1))) {
00014         printf("loop send()\r\n");
00015         counter++;
00016         printf("Message sent: %d\r\n", counter);
00017         led1 = !led1;
00018     }
00019 }
00020  
00021 int main() {
00022     ticker.attach(&send, 2);
00023     CANMessage msg;
00024     while(1) {
00025         printf("loop wait()\r\n");
00026         if(can2.read(msg)) {
00027             printf("Message received: %d, from %d\r\n", msg.data[0], msg.id);
00028             if(msg.id==1100)
00029                 led2 = !led2;
00030             if(msg.id==1102)
00031                 led3 = !led3;     
00032         }
00033         wait(0.5);
00034     }
00035 }