LPC824専用プログラム

Dependencies:   Ping SDFileSystem mbed-src

Revision:
14:61505c5dbc2b
Parent:
13:938a2dda0626
Child:
15:b1ff150cbb18
--- a/format.cpp	Fri Feb 05 11:00:15 2016 +0000
+++ b/format.cpp	Sat Feb 06 14:24:09 2016 +0000
@@ -211,11 +211,13 @@
     supply.period(0.010);//T=10[ms]
     supply.write(0.9);//L...10%,H...90%
     
-    call.fall(&emergency);
+    //Nucleoとの通信用のピン変化割り込み
+    //Nucleoとの通信をする際はTeraTermへの出力は控えるべき
+    //call.fall(&emergency);
     
     for(i=0; i<IC_NUM; i++) cs[i]=1;
     while(1) {
-        
+        //全ての素子の値を検出
         num_short=0;
         num_long=0;
         for(i=0; i<IC_NUM; i++){//IC
@@ -237,12 +239,13 @@
                 
             }
         }
+        //バブルソート
+        //BubbleSort(ir_val_short, ir_posi_short, 12);
+        //BubbleSort(ir_val_long, ir_posi_long, 8);
         
-        BubbleSort(ir_val_short, ir_posi_short, 12);
-        BubbleSort(ir_val_long, ir_posi_long, 8);
-        
+        //検出した最大値と最小値の差
         ir_val_diff = ir_val_short[0]-ir_val_short[11];//After bubble
-        
+        //最もボールがあるとされる位置を代入
         ir_position[SHORT_SPOT] = ir_posi_short[11];//After bubble
         ir_position[LONG_SPOT] = ir_posi_long[7];//After bubble
         
@@ -252,6 +255,7 @@
         #define IR_NOTE_CLOSE   0x2
         #define IR_NOTE_CLOSER  0x3
         */
+        //ボールが遠くにあるか,近くか,フィールドにないかを判断
         ir_notice = IR_NOTE_NONE;//none
         
         if((ir_val_short[11]>=3900)&&(1)){
@@ -294,35 +298,36 @@
                 ir_notice = IR_NOTE_FAR;//long_data
             }
         }*/
+        
+        //デバッグ用のTeraTermへの出力
+        
         /*
-        pc.printf("val_short:%d\t", ir_val_short[11]);
-        pc.printf("val_long:%d\t", ir_val_long[7]);
-        pc.printf("state_short:%d\t", ir_position[0]);
-        pc.printf("state_long:%d\t", ir_position[1]);
-        pc.printf("Diff_short:%d\t", ir_val_short[0]-ir_val_short[11]);
-        pc.printf("Diff_long:%d\t", ir_val_long[0]-ir_val_long[7]);
-        pc.printf("notice:%d\t", ir_notice);
+        pc.printf("val_short:%d\t", ir_val_short[11]);//最小検出値(近)
+        pc.printf("val_long:%d\t", ir_val_long[7]);//最小検出値(遠)
+        pc.printf("state_short:%d\t", ir_position[0]);//ボール位置(近)
+        pc.printf("state_long:%d\t", ir_position[1]);//ボール位置(遠)
+        pc.printf("Diff_short:%d\t", ir_val_short[0]-ir_val_short[11]);//検出した最大値と最小値の差(近)
+        pc.printf("Diff_long:%d\t", ir_val_long[0]-ir_val_long[7]);//検出した最大値と最小値の差(遠)
+        pc.printf("notice:%d\t", ir_notice);//判定されたボールの状況
         pc.printf("\r\n");
         */
         /*
         pc.printf("%Value is ");
-        pc.printf("Dirr_short is %d\t", ir_val_short[0]-ir_val_short[11]);
-        pc.printf("Dirr_long  is %d\t", ir_val_long[0]-ir_val_long[7]);
+        pc.printf("Dirr_short is %d\t", ir_val_short[0]-ir_val_short[11]);//検出した最大値と最小値の差(近)
+        pc.printf("Dirr_long  is %d\t", ir_val_long[0]-ir_val_long[7]);//検出した最大値と最小値の差(遠)
         pc.printf("\r\n");
         */
-        /*
+        //検出した値全てを出力(バブルソートすると位置が変わるので注意)
         pc.printf("%Value is ");
         for(i=0; i<8; i++){
-            pc.printf("%d\t", ir_val_long[i]);
+            pc.printf("%d\t", ir_val_long[i]);//遠
         }
         for(i=0; i<12; i++){
-            pc.printf("%d\t", ir_val_short[i]);
+            pc.printf("%d\t", ir_val_short[i]);//近
         }
         
         pc.printf("\r\n");
-        */
         
-        //emergency();
     }
 }
 uint16_t read_input(uint8_t ic, uint8_t channel)