canbus with intterupt

Dependencies:   mbed

Committer:
cagriakalin
Date:
Tue Jan 19 15:00:26 2016 +0000
Revision:
0:a2f5c6f42674
Canbus with Interrupt;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cagriakalin 0:a2f5c6f42674 1 #include "mbed.h"
cagriakalin 0:a2f5c6f42674 2
cagriakalin 0:a2f5c6f42674 3 DigitalOut led1(LED1);
cagriakalin 0:a2f5c6f42674 4 DigitalOut led2(LED2);
cagriakalin 0:a2f5c6f42674 5 DigitalOut led3(LED3);
cagriakalin 0:a2f5c6f42674 6 Serial pc(USBTX,USBRX);
cagriakalin 0:a2f5c6f42674 7 CAN Canbus(p30,p29);
cagriakalin 0:a2f5c6f42674 8 char counter;
cagriakalin 0:a2f5c6f42674 9 char data[8];
cagriakalin 0:a2f5c6f42674 10
cagriakalin 0:a2f5c6f42674 11 //Ticker ticker;
cagriakalin 0:a2f5c6f42674 12
cagriakalin 0:a2f5c6f42674 13 void send()
cagriakalin 0:a2f5c6f42674 14 {
cagriakalin 0:a2f5c6f42674 15 if(Canbus.write(CANMessage(20,&data[0],8)));
cagriakalin 0:a2f5c6f42674 16 {
cagriakalin 0:a2f5c6f42674 17 pc.printf("Message sent!!\n");
cagriakalin 0:a2f5c6f42674 18 led1= !led1;
cagriakalin 0:a2f5c6f42674 19 counter++;
cagriakalin 0:a2f5c6f42674 20 }
cagriakalin 0:a2f5c6f42674 21 }
cagriakalin 0:a2f5c6f42674 22
cagriakalin 0:a2f5c6f42674 23 int main()
cagriakalin 0:a2f5c6f42674 24 {
cagriakalin 0:a2f5c6f42674 25 led1=0;
cagriakalin 0:a2f5c6f42674 26 led2=0;
cagriakalin 0:a2f5c6f42674 27 led3=0;
cagriakalin 0:a2f5c6f42674 28 Canbus.frequency(125000);
cagriakalin 0:a2f5c6f42674 29
cagriakalin 0:a2f5c6f42674 30 data[0]='0';
cagriakalin 0:a2f5c6f42674 31 data[1]='1';
cagriakalin 0:a2f5c6f42674 32 data[2]='2';
cagriakalin 0:a2f5c6f42674 33 data[3]='3';
cagriakalin 0:a2f5c6f42674 34 data[4]='4';
cagriakalin 0:a2f5c6f42674 35 data[5]='5';
cagriakalin 0:a2f5c6f42674 36 data[6]='6';
cagriakalin 0:a2f5c6f42674 37 data[7]='7';
cagriakalin 0:a2f5c6f42674 38 pc.printf("Basliyor!\n");
cagriakalin 0:a2f5c6f42674 39 //ticker.attach(&send,1);
cagriakalin 0:a2f5c6f42674 40 CANMessage msg;
cagriakalin 0:a2f5c6f42674 41 while(1) {
cagriakalin 0:a2f5c6f42674 42
cagriakalin 0:a2f5c6f42674 43 if(Canbus.read(msg));
cagriakalin 0:a2f5c6f42674 44 {
cagriakalin 0:a2f5c6f42674 45
cagriakalin 0:a2f5c6f42674 46 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]);
cagriakalin 0:a2f5c6f42674 47 led2=!led2;
cagriakalin 0:a2f5c6f42674 48 }///if
cagriakalin 0:a2f5c6f42674 49 wait(0.5);
cagriakalin 0:a2f5c6f42674 50 led3=!led3;
cagriakalin 0:a2f5c6f42674 51 wait(0.5);
cagriakalin 0:a2f5c6f42674 52 }///While
cagriakalin 0:a2f5c6f42674 53 }////Main///////