![](/media/cache/group/mebd_thumbnail.jpg.50x50_q85.jpg)
f303k8(メイン)用のプログラム。 ver1
Dependencies: mbed BufferedSerial
Diff: main.cpp
- Revision:
- 5:c1ad551c6c8c
- Parent:
- 4:b0611c3abb7f
- Child:
- 6:c7d2083ab55c
--- a/main.cpp Fri Feb 25 05:13:37 2022 +0000 +++ b/main.cpp Tue Aug 30 23:20:20 2022 +0000 @@ -1,4 +1,5 @@ #include "mbed.h" +//#include "BufferedSerial.h" //コマンド取得とモード変換は関数にいれたほうがわかりやすい void nichrome_ON(); @@ -7,10 +8,12 @@ void sendStatus(); void FlightPinDriver(); -Serial pc(USBTX, USBRX,38400);//ボーレートを落とすと,USB側からのデータが正確に出力されない.//pcと直接通信してないのに定義する必要ある? +//Serial pc(USBTX, USBRX,38400);//ボーレートを落とすと,USB側からのデータが正確に出力されない. +//BufferedSerial im920(PA_9,PA_10,19200);//TX(IM920_RX), RX(IM920_TX) Serial im920(PA_9,PA_10,19200);//TX(IM920_RX), RX(IM920_TX) //DigitalOut mcu_1(PA_7); //DigitalOut mcu_2(PA_6); +//BufferedSerial L432(PA_2,PA_3,38400); Serial L432(PA_2,PA_3,38400); DigitalOut cameraPow(PA_11); DigitalOut cameraRec(PA_8); @@ -51,14 +54,14 @@ case 0: break; case 1: - printf("Camera is awake\r\n"); + //printf("Camera is awake\r\n"); break; case 2: - printf("Video start\r\n"); + //printf("Video start\r\n"); break; case 9: flag=0; - printf("Stop command!\r\n"); + //printf("Stop command!\r\n"); /******以下3行は開始時のカメラの状態がわからないため、開始と同時に強制スリープにする。他にいい方法ねーかな*****/ cameraPow = 1; //カメラの電源スイッチON wait(3); @@ -66,14 +69,14 @@ break; } } - L432.putc("p"); //センサー側にフライトピン作動を知らせる - printf("flight pin worked"); + L432.putc('p'); //センサー側にフライトピン作動を知らせる + //printf("flight pin worked"); t.attach(nichrome_ON,3);//ニクロムを作動させるまでの時間 //ここからGPSの情報取得して送信 } void nichrome_ON(){ - printf("テグスカット!\n\r"); + //printf("テグスカット!\n\r"); nichrome=1; wait(2.0);//テグスを切るまでにかかる時間 nichrome=0; @@ -82,8 +85,8 @@ } void buzzerON(){ - printf("ブザー作動\n\r"); - L432.putc('c'); //センサー停止指示コマンド + //printf("ブザー作動\n\r"); + L432.printf("c\r\n"); //センサー停止指示コマンド buzzer=1; cameraRec=1;//撮影終了指示 wait(0.2);//この待機時間は要らないのかもしれない @@ -96,12 +99,12 @@ while(temp != '\n') { //読み込み文字が改行で無い場合(順番では\r\n) if(im920.readable()) { //IM920からのデータがある場合 char temp = im920.getc();//一文字読み込む - pc.printf("%c",temp); + //pc.printf("%c",temp); str[i++] = temp; } //else if(temp == '\n') { //読み込み文字が改行の場合 //printf("get Command\r\n"); if(str[i-2]=='1'&&str[i-1]=='1'){ //スリープに入るor抜け出す際にはコマンド"11" - printf("get 11 !!\r\n"); + //printf("get 11 !!\r\n"); cameraPow = 1; //カメラの電源スイッチON wait(3); cameraPow = 0; @@ -112,12 +115,12 @@ cameraRec = 1; //撮影スイッチON(撮影開始指示) wait(0.2); //撮影開始 cameraRec=0; - printf("get 22\r\n"); + //printf("get 22\r\n"); return 2; } else if(str[i-2]=='3'&&str[i-1]=='3'){ //撮影終了の際にはコマンド"33" - printf("get 33\r\n"); - L432.putc('s'); //L432にセンサ動作開始のコマンド送信 + //printf("get 33\r\n"); + L432.printf("s\r\n"); //L432にセンサ動作開始のコマンド送信 cameraRec=1; //撮影スイッチON(撮影終了指示) wait(0.2); //撮影終了 cameraRec=0; @@ -137,7 +140,7 @@ void FlightPinDriver(){ if(flightPin==1){ - printf("Flight Pin Worked!!\n\r"); + //printf("Flight Pin Worked!!\n\r"); warikomi.detach(); t.attach(nichrome_ON,8);//ニクロムを作動させるまでの時間 }