canbus with intterupt

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 DigitalOut led1(LED1);
00004 DigitalOut led2(LED2);
00005 DigitalOut led3(LED3);
00006 Serial pc(USBTX,USBRX);
00007 CAN Canbus(p30,p29);
00008 char  counter;
00009 char data[8];
00010 
00011 //Ticker ticker;
00012 
00013 void send()
00014 {
00015     if(Canbus.write(CANMessage(20,&data[0],8)));
00016 {
00017     pc.printf("Message sent!!\n");
00018         led1= !led1;
00019         counter++;
00020     }
00021 }
00022 
00023 int main()
00024 {
00025     led1=0;
00026     led2=0;
00027     led3=0;
00028     Canbus.frequency(125000);
00029 
00030     data[0]='0';
00031     data[1]='1';
00032     data[2]='2';
00033     data[3]='3';
00034     data[4]='4';
00035     data[5]='5';
00036     data[6]='6';
00037     data[7]='7';
00038     pc.printf("Basliyor!\n");
00039     //ticker.attach(&send,1);
00040     CANMessage msg;
00041     while(1) {
00042         
00043         if(Canbus.read(msg));
00044     {
00045    
00046         pc.printf("Message Recieved:%d %d %d %d %d %d %d %d\n",msg.data[0],msg.data[1],msg.data[2],msg.data[3],msg.data[4],msg.data[5],msg.data[6],msg.data[7]);
00047             led2=!led2;
00048         }///if
00049         wait(0.5);
00050         led3=!led3;
00051         wait(0.5);
00052     }///While
00053 }////Main///////