2019NHK_teamA / Mbed 2 deprecated nucleo_limit

Dependencies:   mbed

Committer:
yosino_adati
Date:
Thu Sep 05 10:26:38 2019 +0000
Revision:
3:e67d06dabfbd
Parent:
2:f64f79a6b5e0
syusei;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shina 1:08c96d55206d 1 /////////////////////////////////////
shina 1:08c96d55206d 2 /*NHK2019*/
shina 1:08c96d55206d 3 /*Aチーム手動機リミットスイッチ用プログラム*/
shina 1:08c96d55206d 4 ////////////////////////////////////
shina 1:08c96d55206d 5
shina 0:28ee674a717f 6 #include "mbed.h"
shina 0:28ee674a717f 7 Serial master(PC_6,PC_7);
shina 0:28ee674a717f 8 Serial pc(USBTX,USBRX);
shina 2:f64f79a6b5e0 9 DigitalIn limit0(D10);//右上ラック
shina 2:f64f79a6b5e0 10 DigitalIn limit1(D9);//左上ラック
shina 2:f64f79a6b5e0 11 DigitalIn limit2(D8);//右下ラック
shina 2:f64f79a6b5e0 12 DigitalIn limit3(D7);//左下ラック
shina 2:f64f79a6b5e0 13
shina 2:f64f79a6b5e0 14 DigitalIn limit4(D6);//回収機構右
shina 2:f64f79a6b5e0 15 DigitalIn limit5(D5);//回収機構左
shina 2:f64f79a6b5e0 16 DigitalIn limit6(D4);//吐き出し1
shina 2:f64f79a6b5e0 17 DigitalIn limit7(D2);//吐き出し2
shina 1:08c96d55206d 18 DigitalOut green(D12);//電源確認
shina 2:f64f79a6b5e0 19 DigitalOut red(D11);//動作確認
shina 2:f64f79a6b5e0 20
shina 1:08c96d55206d 21
shina 1:08c96d55206d 22 //データ格納用変数
shina 0:28ee674a717f 23 char data;
shina 1:08c96d55206d 24
shina 2:f64f79a6b5e0 25
shina 2:f64f79a6b5e0 26
shina 1:08c96d55206d 27 //関数プロトタイプ宣言
shina 0:28ee674a717f 28 void send_data(char send);
shina 1:08c96d55206d 29
shina 1:08c96d55206d 30 //main()関数
yosino_adati 3:e67d06dabfbd 31 int main()
yosino_adati 3:e67d06dabfbd 32 {
yosino_adati 3:e67d06dabfbd 33
yosino_adati 3:e67d06dabfbd 34
shina 2:f64f79a6b5e0 35 limit0.mode(PullUp);
yosino_adati 3:e67d06dabfbd 36
shina 0:28ee674a717f 37 limit1.mode(PullUp);
yosino_adati 3:e67d06dabfbd 38
shina 0:28ee674a717f 39 limit2.mode(PullUp);
yosino_adati 3:e67d06dabfbd 40
shina 0:28ee674a717f 41 limit3.mode(PullUp);
yosino_adati 3:e67d06dabfbd 42
shina 0:28ee674a717f 43 limit4.mode(PullUp);
yosino_adati 3:e67d06dabfbd 44
shina 0:28ee674a717f 45 limit5.mode(PullUp);
yosino_adati 3:e67d06dabfbd 46
shina 0:28ee674a717f 47 limit6.mode(PullUp);
yosino_adati 3:e67d06dabfbd 48
shina 0:28ee674a717f 49 limit7.mode(PullUp);
yosino_adati 3:e67d06dabfbd 50
yosino_adati 3:e67d06dabfbd 51 while(true) {
shina 2:f64f79a6b5e0 52
yosino_adati 3:e67d06dabfbd 53 if(!limit0) {
yosino_adati 3:e67d06dabfbd 54 data = data | 0x01;
yosino_adati 3:e67d06dabfbd 55 } else {
yosino_adati 3:e67d06dabfbd 56 data = data & 0b11111110;
yosino_adati 3:e67d06dabfbd 57 }
yosino_adati 3:e67d06dabfbd 58 if(!limit1) {
yosino_adati 3:e67d06dabfbd 59 data = data | 0x02;
yosino_adati 3:e67d06dabfbd 60 } else {
yosino_adati 3:e67d06dabfbd 61 data = data & 0b11111101;
yosino_adati 3:e67d06dabfbd 62 }
yosino_adati 3:e67d06dabfbd 63 if(!limit2) {
yosino_adati 3:e67d06dabfbd 64 data = data | 0x04;
yosino_adati 3:e67d06dabfbd 65 } else {
yosino_adati 3:e67d06dabfbd 66 data = data & 0b11111011;
yosino_adati 3:e67d06dabfbd 67 }
yosino_adati 3:e67d06dabfbd 68 if(!limit3) {
yosino_adati 3:e67d06dabfbd 69 data = data | 0x08;
yosino_adati 3:e67d06dabfbd 70 } else {
yosino_adati 3:e67d06dabfbd 71 data = data & 0b11110111;
yosino_adati 3:e67d06dabfbd 72 }
yosino_adati 3:e67d06dabfbd 73 if(!limit4) {
yosino_adati 3:e67d06dabfbd 74 data = data | 0x10;
yosino_adati 3:e67d06dabfbd 75 } else {
yosino_adati 3:e67d06dabfbd 76 data = data & 0b11101111;
yosino_adati 3:e67d06dabfbd 77 }
yosino_adati 3:e67d06dabfbd 78 if(!limit5) {
yosino_adati 3:e67d06dabfbd 79 data = data | 0x20;
yosino_adati 3:e67d06dabfbd 80 } else {
yosino_adati 3:e67d06dabfbd 81 data = data & 0b11011111;
yosino_adati 3:e67d06dabfbd 82 }
yosino_adati 3:e67d06dabfbd 83 if(!limit6) {
yosino_adati 3:e67d06dabfbd 84 data = data | 0x40;
yosino_adati 3:e67d06dabfbd 85 } else {
yosino_adati 3:e67d06dabfbd 86 data = data & 0b10111111;
yosino_adati 3:e67d06dabfbd 87 }
yosino_adati 3:e67d06dabfbd 88 if(!limit7) {
yosino_adati 3:e67d06dabfbd 89 data = data | 0x80;
yosino_adati 3:e67d06dabfbd 90 } else {
yosino_adati 3:e67d06dabfbd 91 data = data & 0b01111111;
yosino_adati 3:e67d06dabfbd 92 }
shina 2:f64f79a6b5e0 93
yosino_adati 3:e67d06dabfbd 94 send_data(data);
yosino_adati 3:e67d06dabfbd 95 pc.printf("0x%x\n",data);
yosino_adati 3:e67d06dabfbd 96
shina 0:28ee674a717f 97 }
shina 0:28ee674a717f 98
yosino_adati 3:e67d06dabfbd 99 }
yosino_adati 3:e67d06dabfbd 100
shina 1:08c96d55206d 101 //rs232通信
yosino_adati 3:e67d06dabfbd 102 void send_data(char send)
yosino_adati 3:e67d06dabfbd 103 {
shina 0:28ee674a717f 104 master.putc(send);
shina 0:28ee674a717f 105 wait(0.005);
yosino_adati 3:e67d06dabfbd 106 }