Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: main.cpp
- Revision:
- 0:f31ecffcad13
- Child:
- 1:5a6c8683a7cf
diff -r 000000000000 -r f31ecffcad13 main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Tue Feb 26 05:00:17 2019 +0000
@@ -0,0 +1,80 @@
+#include "mbed.h"
+#include "uw.h"
+
+CAN can1(PA_11,PA_12,1000000);//ピン宣言
+//CAN can1(p30,p29,1000000);
+DigitalOut led(LED1);
+Ticker ticker;//タイマー割り込み
+char can_data[8]= {0}; //CAN送信用の配列
+
+Uw uw1(PF_1); //機体背面の超音波センサー(三宝アーム側)
+//Uw uw2(PF_0); //機体正面の超音波センサー(果物アーム側)
+Uw uw3(PB_4); //機体左側の超音波センサー
+//Uw uw4(PA_0); //機体右側の超音波センサー
+
+char can_data1[2]= {0,0};
+//char can_data2[2]={0,0};
+char can_data3[2]= {0,0};
+//char can_data4[2]={0,0};
+
+int data1;
+int data2;
+
+int x;
+int dataA, dataB, dataC, dataD;
+
+void can_send()
+{
+ //printf("%fcm\r\n",uw1.get_dist());
+
+ dataA = (short)(100 * uw1.get_dist()); //超音波センサーの値を1000倍して送る(受信側で0.001倍して元に戻す)
+ //dataB = (short)1000 * uw2.get_dist();
+ dataC = (short)(100 * uw3.get_dist());
+ //dataD = 100 * uw4.get_dist();
+
+ can_data1[0] = dataA >> 8;
+ can_data1[1] = dataA &255;
+
+ /*can_data2[0] = data2 >> 8;
+ can_data2[1] = data2 &255;*/
+
+ can_data3[0] = dataC >> 8;
+ can_data3[1] = dataC &255;
+
+ /*can_data4[0] = data4 >> 8;
+ can_data4[1] = data4 &255;*/
+
+ if(can1.write(CANMessage(3,can_data1,2))) {
+ led = 1;
+ printf("%fcm\r\n",uw1.get_dist());
+ //printf("send\n\r");
+ } else {
+ printf("not send\n\r");
+ }
+
+ if(can1.write(CANMessage(5,can_data3,2))) {
+ led = 1;
+ printf("%fcm\r\n",uw3.get_dist());
+ //printf("send\n\r");
+ } else {
+ printf("not send\n\r");
+ }
+
+ /*data1 = 500;
+ can_data[0] = data1>>8;
+ can_data[1] = data1&255;
+
+ if(can1.write(CANMessage(1,can_data,2))) { //IDを1にして送信
+ led = 1;//送信時にLED1を点灯
+ printf("send\n\r");
+ } else {
+ printf("not send\n\r");
+ }*/
+}
+int main()
+{
+ can1.frequency(1000000);
+ //can1.frequency(10000);
+ ticker.attach(&can_send,0.01); //can_send関数に0.001秒間隔で割り込み
+ while(1);
+}
\ No newline at end of file