Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@3:e67d06dabfbd, 2019-09-05 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |