敦哉 品川
/
limit_switch
This program is about limit switches
Diff: main.cpp
- Revision:
- 1:08c96d55206d
- Parent:
- 0:28ee674a717f
- Child:
- 2:f64f79a6b5e0
--- a/main.cpp Thu May 23 01:03:22 2019 +0000 +++ b/main.cpp Tue Jun 25 09:21:06 2019 +0000 @@ -1,18 +1,29 @@ +///////////////////////////////////// +/*NHK2019*/ +/*Aチーム手動機リミットスイッチ用プログラム*/ +//////////////////////////////////// + #include "mbed.h" Serial master(PC_6,PC_7); Serial pc(USBTX,USBRX); -DigitalIn limit1(D9); -DigitalIn limit2(D8); -DigitalIn limit3(D7); -DigitalIn limit4(D6); -DigitalIn limit5(D5); -DigitalIn limit6(D4); -DigitalIn limit7(D2); -DigitalOut green(D12); -DigitalOut yellow(D11); -DigitalOut red(D10); +DigitalIn limit1(D9);//右上ラック +DigitalIn limit2(D8);//左上ラック +DigitalIn limit3(D7);//右下ラック +DigitalIn limit4(D6);//左下ラック +DigitalIn limit5(D5);//回収機構右 +DigitalIn limit6(D4);//回収機構左 +DigitalIn limit7(D2);//予備 +DigitalOut green(D12);//電源確認 +DigitalOut yellow(D11);//通信確認 +DigitalOut red(D10);//動作確認 + +//データ格納用変数 char data; + +//関数プロトタイプ宣言 void send_data(char send); + +//main()関数 int main(){ green=1; @@ -33,7 +44,7 @@ while(true){ - if(!limit1||!limit2){ + if(!limit1&&!limit2){ red=1; @@ -41,7 +52,15 @@ send_data(data); - }else if(!limit3||!limit4){ + }else if(!limit1&&limit2){ + + red=1; + + data=0x22; + + send_data(data); + + }else if(limit1&&!limit2){ red=1; @@ -49,11 +68,35 @@ send_data(data); + }else if(!limit3&&!limit4){ + + red=1; + + data=0x26; + + send_data(data); + + }else if(!limit3&&limit4){ + + red=1; + + data=0x28; + + send_data(data); + + }else if(limit3&&!limit4){ + + red=1; + + data=0x30; + + send_data(data); + }else if(!limit5){ red=1; - data=0x28; + data=0x32; send_data(data); @@ -61,7 +104,7 @@ red=1; - data=0x30; + data=0x34; send_data(data); @@ -69,7 +112,7 @@ red=1; - data=0x32; + data=0x36; send_data(data); @@ -77,7 +120,7 @@ red=0; - data=0x34; + data=0x38; send_data(data); @@ -88,6 +131,7 @@ } +//rs232通信 void send_data(char send){ yellow=1; master.putc(send);