3/8z

Dependencies:   uw_28015 mbed

Committer:
yuki0701
Date:
Fri Mar 01 00:47:02 2019 +0000
Revision:
2:2d5326f8aa64
Parent:
1:5a6c8683a7cf
Child:
3:6ea13ffa4631
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
la00noix 0:f31ecffcad13 1 #include "mbed.h"
la00noix 0:f31ecffcad13 2 #include "uw.h"
la00noix 0:f31ecffcad13 3
la00noix 0:f31ecffcad13 4 CAN can1(PA_11,PA_12,1000000);//ピン宣言
la00noix 0:f31ecffcad13 5 //CAN can1(p30,p29,1000000);
la00noix 0:f31ecffcad13 6 DigitalOut led(LED1);
la00noix 0:f31ecffcad13 7 Ticker ticker;//タイマー割り込み
la00noix 1:5a6c8683a7cf 8 char can_data[8] = {0}; //CAN送信用の配列
la00noix 0:f31ecffcad13 9
yuki0701 2:2d5326f8aa64 10 //Uw uw2(PF_1); //機体背面の超音波センサー(三宝アーム側)
yuki0701 2:2d5326f8aa64 11 //Uw uw1(PF_0); //機体正面の超音波センサー(果物アーム側)
yuki0701 2:2d5326f8aa64 12 Uw uw4(PB_4); //機体左側の超音波センサー
yuki0701 2:2d5326f8aa64 13 //Uw uw3(PA_0); //機体右側の超音波センサー
la00noix 0:f31ecffcad13 14
yuki0701 2:2d5326f8aa64 15 //char can_data1[2]= {0,0};
yuki0701 2:2d5326f8aa64 16 //char can_data2[2]= {0,0};
yuki0701 2:2d5326f8aa64 17 //char can_data3[2]= {0,0};
yuki0701 2:2d5326f8aa64 18 char can_data4[2]= {0,0};
la00noix 0:f31ecffcad13 19
la00noix 1:5a6c8683a7cf 20 int data1,data2;
la00noix 0:f31ecffcad13 21 int dataA, dataB, dataC, dataD;
la00noix 0:f31ecffcad13 22
la00noix 0:f31ecffcad13 23 void can_send()
la00noix 0:f31ecffcad13 24 {
yuki0701 2:2d5326f8aa64 25 printf("a\n\r");
la00noix 0:f31ecffcad13 26 //printf("%fcm\r\n",uw1.get_dist());
la00noix 0:f31ecffcad13 27
yuki0701 2:2d5326f8aa64 28 // dataA = (short)(100 * uw1.get_dist()); //超音波センサーの値を1000倍して送る(受信側で0.001倍して元に戻す)
yuki0701 2:2d5326f8aa64 29 // dataB = (short)(100 * uw2.get_dist());
yuki0701 2:2d5326f8aa64 30 //dataC = (short)(100 * uw3.get_dist());
yuki0701 2:2d5326f8aa64 31 dataD = (short)(100 * uw4.get_dist());
la00noix 0:f31ecffcad13 32
yuki0701 2:2d5326f8aa64 33 // can_data1[0] = dataA >> 8;
yuki0701 2:2d5326f8aa64 34 //can_data1[1] = dataA &255;
la00noix 0:f31ecffcad13 35
yuki0701 2:2d5326f8aa64 36 //can_data2[0] = dataB >> 8;
yuki0701 2:2d5326f8aa64 37 //can_data2[1] = dataB &255;
la00noix 0:f31ecffcad13 38
yuki0701 2:2d5326f8aa64 39 /* can_data3[0] = dataC >> 8;
la00noix 0:f31ecffcad13 40 can_data3[1] = dataC &255;
yuki0701 2:2d5326f8aa64 41 */
yuki0701 2:2d5326f8aa64 42 can_data4[0] = dataD >> 8;
yuki0701 2:2d5326f8aa64 43 can_data4[1] = dataD &255;
la00noix 0:f31ecffcad13 44
yuki0701 2:2d5326f8aa64 45 /*if(can1.write(CANMessage(3,can_data1,2))) {
la00noix 0:f31ecffcad13 46 led = 1;
la00noix 0:f31ecffcad13 47 printf("%fcm\r\n",uw1.get_dist());
la00noix 0:f31ecffcad13 48 //printf("send\n\r");
la00noix 0:f31ecffcad13 49 } else {
la00noix 0:f31ecffcad13 50 printf("not send\n\r");
yuki0701 2:2d5326f8aa64 51 }*/
la00noix 0:f31ecffcad13 52
la00noix 1:5a6c8683a7cf 53 /*if(can1.write(CANMessage(4,can_data2,2))) {
la00noix 1:5a6c8683a7cf 54 led = 1;
la00noix 1:5a6c8683a7cf 55 printf("%fcm\r\n",uw2.get_dist());
la00noix 1:5a6c8683a7cf 56 //printf("send\n\r");
la00noix 1:5a6c8683a7cf 57 } else {
la00noix 1:5a6c8683a7cf 58 printf("not send\n\r");
la00noix 1:5a6c8683a7cf 59 }*/
la00noix 1:5a6c8683a7cf 60
yuki0701 2:2d5326f8aa64 61 /*if(can1.write(CANMessage(5,can_data3,2))) {
la00noix 0:f31ecffcad13 62 led = 1;
la00noix 0:f31ecffcad13 63 printf("%fcm\r\n",uw3.get_dist());
la00noix 0:f31ecffcad13 64 //printf("send\n\r");
la00noix 0:f31ecffcad13 65 } else {
la00noix 0:f31ecffcad13 66 printf("not send\n\r");
yuki0701 2:2d5326f8aa64 67 }*/
la00noix 0:f31ecffcad13 68
yuki0701 2:2d5326f8aa64 69 if(can1.write(CANMessage(6,can_data4,2))) {
la00noix 1:5a6c8683a7cf 70 led = 1;
la00noix 1:5a6c8683a7cf 71 printf("%fcm\r\n",uw4.get_dist());
la00noix 1:5a6c8683a7cf 72 //printf("send\n\r");
la00noix 1:5a6c8683a7cf 73 } else {
la00noix 1:5a6c8683a7cf 74 printf("not send\n\r");
yuki0701 2:2d5326f8aa64 75 }
la00noix 1:5a6c8683a7cf 76
la00noix 1:5a6c8683a7cf 77 /*動確用プログラム
la00noix 1:5a6c8683a7cf 78
la00noix 1:5a6c8683a7cf 79 data1 = 500;
la00noix 0:f31ecffcad13 80 can_data[0] = data1>>8;
la00noix 0:f31ecffcad13 81 can_data[1] = data1&255;
la00noix 0:f31ecffcad13 82
la00noix 0:f31ecffcad13 83 if(can1.write(CANMessage(1,can_data,2))) { //IDを1にして送信
la00noix 0:f31ecffcad13 84 led = 1;//送信時にLED1を点灯
la00noix 0:f31ecffcad13 85 printf("send\n\r");
la00noix 0:f31ecffcad13 86 } else {
la00noix 0:f31ecffcad13 87 printf("not send\n\r");
la00noix 0:f31ecffcad13 88 }*/
la00noix 0:f31ecffcad13 89 }
la00noix 1:5a6c8683a7cf 90
la00noix 0:f31ecffcad13 91 int main()
la00noix 0:f31ecffcad13 92 {
la00noix 0:f31ecffcad13 93 can1.frequency(1000000);
la00noix 0:f31ecffcad13 94 //can1.frequency(10000);
la00noix 0:f31ecffcad13 95 ticker.attach(&can_send,0.01); //can_send関数に0.001秒間隔で割り込み
la00noix 0:f31ecffcad13 96 while(1);
yuki0701 2:2d5326f8aa64 97
la00noix 0:f31ecffcad13 98 }