LPC824専用プログラム
Dependencies: Ping SDFileSystem mbed-src
Diff: format.cpp
- 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)