敦哉 品川 / Mbed 2 deprecated limit_switch

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /////////////////////////////////////
00002 /*NHK2019*/
00003 /*Aチーム手動機リミットスイッチ用プログラム*/
00004 ////////////////////////////////////
00005 
00006 #include "mbed.h"
00007 Serial master(PC_6,PC_7);
00008 Serial pc(USBTX,USBRX);
00009 DigitalIn limit0(D10);//右上ラック
00010 DigitalIn limit1(D9);//左上ラック
00011 DigitalIn limit2(D8);//右下ラック
00012 DigitalIn limit3(D7);//左下ラック
00013 
00014 DigitalIn limit4(D6);//回収機構右
00015 DigitalIn limit5(D5);//回収機構左
00016 DigitalIn limit6(D4);//吐き出し1
00017 DigitalIn limit7(D2);//吐き出し2
00018 DigitalOut green(D12);//電源確認
00019 DigitalOut red(D11);//動作確認
00020 
00021 //データ格納用変数
00022 char data=0x00;
00023 
00024 
00025 
00026 //関数プロトタイプ宣言
00027 void send_data(char send);
00028 
00029 //main()関数
00030 int main()
00031 {
00032     
00033     master.baud(115200);
00034     pc.baud(115200);
00035 
00036     limit0.mode(PullUp);
00037 
00038     limit1.mode(PullUp);
00039 
00040     limit2.mode(PullUp);
00041 
00042     limit3.mode(PullUp);
00043 
00044     limit4.mode(PullUp);
00045 
00046     limit5.mode(PullUp);
00047 
00048     limit6.mode(PullUp);
00049 
00050     limit7.mode(PullUp);
00051 
00052     while(true) {
00053         
00054         red=1;
00055 
00056         if(!limit0) {
00057             data = data | 0x01;
00058         } else {
00059             data = data & 0b11111110;
00060         }
00061         if(!limit1) {
00062             data = data | 0x02;
00063         } else {
00064             data = data & 0b11111101;
00065         }
00066         if(!limit2) {
00067             data = data | 0x04;
00068         } else {
00069             data = data & 0b11111011;
00070         }
00071         if(!limit3) {
00072             data = data | 0x08;
00073         } else {
00074             data = data & 0b11110111;
00075         }
00076         if(!limit4) {
00077             data = data | 0x10;
00078         } else {
00079             data = data & 0b11101111;
00080         }
00081         if(!limit5) {
00082             data = data | 0x20;
00083             green=1;
00084         } else {
00085             data = data & 0b11011111;
00086             green=0;
00087         }
00088         if(!limit6) {
00089             data = data | 0x40;
00090         } else {
00091             data = data & 0b10111111;
00092         }
00093         if(!limit7) {
00094             data = data | 0x80;
00095         } else {
00096             data = data & 0b01111111;
00097         }
00098         
00099         
00100 
00101 
00102         send_data(data);
00103         
00104         red=0;
00105         
00106         pc.printf("0x%x\n",data);
00107 
00108     }
00109 
00110 }
00111 
00112 //rs232通信
00113 void send_data(char send)
00114 {
00115     master.putc(send);
00116     wait(0.02);
00117 }