can_test for my case

Dependencies:   mbed

Committer:
hirokimineshita
Date:
Mon Apr 04 04:16:56 2016 +0000
Revision:
0:24cfc59b5220
can_test;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hirokimineshita 0:24cfc59b5220 1 #include "mbed.h"
hirokimineshita 0:24cfc59b5220 2
hirokimineshita 0:24cfc59b5220 3 Ticker ticker;
hirokimineshita 0:24cfc59b5220 4 DigitalOut led1(LED1);
hirokimineshita 0:24cfc59b5220 5 DigitalOut led2(LED2);
hirokimineshita 0:24cfc59b5220 6 //BusOut led(LED1,LED2,LED3,LED4);
hirokimineshita 0:24cfc59b5220 7 CAN can2(p9, p10);
hirokimineshita 0:24cfc59b5220 8 CAN can1(p30, p29);
hirokimineshita 0:24cfc59b5220 9 char counter[8] = {0,0,0,0,0,0,0,0};
hirokimineshita 0:24cfc59b5220 10 int sub=0,j=1,count=0;
hirokimineshita 0:24cfc59b5220 11
hirokimineshita 0:24cfc59b5220 12 void send() {
hirokimineshita 0:24cfc59b5220 13 //printf("send()\n\r");
hirokimineshita 0:24cfc59b5220 14 //led=counter[0];
hirokimineshita 0:24cfc59b5220 15 if(j>40)j=1;
hirokimineshita 0:24cfc59b5220 16 if(can2.write(CANMessage(j, counter, 8))) {
hirokimineshita 0:24cfc59b5220 17 //printf("wloop()\n\r");
hirokimineshita 0:24cfc59b5220 18 //printf("Message sent :%3d: %3d,%3d,%3d,%3d,%3d,%3d,%3d,%3d\n\r",j, counter[0],counter[1],counter[2],counter[3],counter[4],counter[5],counter[6],counter[7]);
hirokimineshita 0:24cfc59b5220 19 sub++;
hirokimineshita 0:24cfc59b5220 20 if(count==2){
hirokimineshita 0:24cfc59b5220 21 j++;
hirokimineshita 0:24cfc59b5220 22 count=0;
hirokimineshita 0:24cfc59b5220 23 }
hirokimineshita 0:24cfc59b5220 24 count++;
hirokimineshita 0:24cfc59b5220 25 for(int i=0;i<8;i++)counter[i]=(sub>>(i*8))&255;
hirokimineshita 0:24cfc59b5220 26 counter[7]=(4*3-j)/(4*3-j);
hirokimineshita 0:24cfc59b5220 27 }
hirokimineshita 0:24cfc59b5220 28 led1 = !led1;
hirokimineshita 0:24cfc59b5220 29 }
hirokimineshita 0:24cfc59b5220 30
hirokimineshita 0:24cfc59b5220 31 int main() {
hirokimineshita 0:24cfc59b5220 32 //led=0;
hirokimineshita 0:24cfc59b5220 33 can2.frequency(1000000);
hirokimineshita 0:24cfc59b5220 34 printf("main()\n\r");
hirokimineshita 0:24cfc59b5220 35 //ticker.attach(&send, 0.1);
hirokimineshita 0:24cfc59b5220 36 CANMessage msg;
hirokimineshita 0:24cfc59b5220 37 while(1) {
hirokimineshita 0:24cfc59b5220 38 //printf("loop()\n\r");
hirokimineshita 0:24cfc59b5220 39 if(can2.read(msg)){
hirokimineshita 0:24cfc59b5220 40 printf("%3d:%3d,%3d,%3d,%3d,%3d,%3d,%3d,%3d\n\r",msg.id,msg.data[0],msg.data[1],msg.data[2],msg.data[3],msg.data[4],msg.data[5],msg.data[6],msg.data[7]);
hirokimineshita 0:24cfc59b5220 41 if(msg.id==4)led2 = !led2;
hirokimineshita 0:24cfc59b5220 42 }
hirokimineshita 0:24cfc59b5220 43 //led=msg.data[0];
hirokimineshita 0:24cfc59b5220 44
hirokimineshita 0:24cfc59b5220 45 //wait(0.2);
hirokimineshita 0:24cfc59b5220 46
hirokimineshita 0:24cfc59b5220 47 }
hirokimineshita 0:24cfc59b5220 48 }