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.
main.cpp@8:3eb58ae94a93, 2014-01-23 (annotated)
- Committer:
- nekoyyy
- Date:
- Thu Jan 23 05:39:20 2014 +0000
- Revision:
- 8:3eb58ae94a93
- Parent:
- 7:1947b554f8e3
- Child:
- 9:215d94939bc9
????mbed
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| emilmont | 1:491820ee784d | 1 | #include "mbed.h" |
| emilmont | 1:491820ee784d | 2 | #include "rtos.h" |
| nekoyyy | 7:1947b554f8e3 | 3 | |
| nekoyyy | 7:1947b554f8e3 | 4 | Serial pc(USBTX, USBRX); |
| nekoyyy | 8:3eb58ae94a93 | 5 | PwmOut Dou1(p21); |
| nekoyyy | 8:3eb58ae94a93 | 6 | PwmOut Asi1(p23); |
| nekoyyy | 8:3eb58ae94a93 | 7 | PwmOut Dou2(p22); |
| nekoyyy | 8:3eb58ae94a93 | 8 | PwmOut Asi2(p24); |
| nekoyyy | 7:1947b554f8e3 | 9 | |
| nekoyyy | 7:1947b554f8e3 | 10 | char c; |
| nekoyyy | 7:1947b554f8e3 | 11 | |
| nekoyyy | 7:1947b554f8e3 | 12 | |
| nekoyyy | 8:3eb58ae94a93 | 13 | int zen1=0; |
| nekoyyy | 8:3eb58ae94a93 | 14 | int go1=0; |
| nekoyyy | 8:3eb58ae94a93 | 15 | int zen2=0; |
| nekoyyy | 8:3eb58ae94a93 | 16 | int go2=0; |
| nekoyyy | 8:3eb58ae94a93 | 17 | int dou1=0; |
| nekoyyy | 7:1947b554f8e3 | 18 | |
| nekoyyy | 8:3eb58ae94a93 | 19 | void HANTEI(void const *argument) { |
| nekoyyy | 7:1947b554f8e3 | 20 | while(true){ |
| nekoyyy | 8:3eb58ae94a93 | 21 | if(pc.readable()==1){ |
| nekoyyy | 7:1947b554f8e3 | 22 | c=pc.getc(); |
| nekoyyy | 8:3eb58ae94a93 | 23 | switch(c){ |
| nekoyyy | 8:3eb58ae94a93 | 24 | case'g': |
| nekoyyy | 8:3eb58ae94a93 | 25 | zen1=1; |
| nekoyyy | 7:1947b554f8e3 | 26 | c=0; |
| nekoyyy | 8:3eb58ae94a93 | 27 | pc.printf("go\n"); |
| nekoyyy | 7:1947b554f8e3 | 28 | break; |
| nekoyyy | 7:1947b554f8e3 | 29 | |
| nekoyyy | 7:1947b554f8e3 | 30 | case'n': |
| nekoyyy | 8:3eb58ae94a93 | 31 | zen1=0; |
| nekoyyy | 8:3eb58ae94a93 | 32 | go1=0; |
| nekoyyy | 7:1947b554f8e3 | 33 | c=0; |
| nekoyyy | 7:1947b554f8e3 | 34 | pc.printf("stop\n"); |
| nekoyyy | 7:1947b554f8e3 | 35 | break; |
| nekoyyy | 7:1947b554f8e3 | 36 | |
| nekoyyy | 8:3eb58ae94a93 | 37 | case'z': |
| nekoyyy | 8:3eb58ae94a93 | 38 | go1=1; |
| nekoyyy | 8:3eb58ae94a93 | 39 | c=0; |
| nekoyyy | 8:3eb58ae94a93 | 40 | pc.printf("zen\n"); |
| nekoyyy | 8:3eb58ae94a93 | 41 | break; |
| nekoyyy | 8:3eb58ae94a93 | 42 | |
| nekoyyy | 8:3eb58ae94a93 | 43 | case'c': |
| nekoyyy | 8:3eb58ae94a93 | 44 | zen2=1; |
| nekoyyy | 7:1947b554f8e3 | 45 | c=0; |
| nekoyyy | 7:1947b554f8e3 | 46 | pc.printf("go\n"); |
| nekoyyy | 7:1947b554f8e3 | 47 | break; |
| nekoyyy | 7:1947b554f8e3 | 48 | |
| nekoyyy | 8:3eb58ae94a93 | 49 | case'p': |
| nekoyyy | 8:3eb58ae94a93 | 50 | zen2=0; |
| nekoyyy | 8:3eb58ae94a93 | 51 | go2=0; |
| nekoyyy | 8:3eb58ae94a93 | 52 | c=0; |
| nekoyyy | 8:3eb58ae94a93 | 53 | pc.printf("stop\n"); |
| nekoyyy | 8:3eb58ae94a93 | 54 | break; |
| nekoyyy | 8:3eb58ae94a93 | 55 | |
| nekoyyy | 8:3eb58ae94a93 | 56 | case'x': |
| nekoyyy | 8:3eb58ae94a93 | 57 | go2=1; |
| nekoyyy | 8:3eb58ae94a93 | 58 | c=0; |
| nekoyyy | 8:3eb58ae94a93 | 59 | pc.printf("zen\n"); |
| nekoyyy | 8:3eb58ae94a93 | 60 | break; |
| nekoyyy | 8:3eb58ae94a93 | 61 | |
| nekoyyy | 7:1947b554f8e3 | 62 | case'd': |
| nekoyyy | 8:3eb58ae94a93 | 63 | dou1=1; |
| nekoyyy | 8:3eb58ae94a93 | 64 | c=0; |
| nekoyyy | 8:3eb58ae94a93 | 65 | pc.printf("dou\n"); |
| nekoyyy | 8:3eb58ae94a93 | 66 | break; |
| nekoyyy | 8:3eb58ae94a93 | 67 | } |
| nekoyyy | 7:1947b554f8e3 | 68 | } |
| nekoyyy | 7:1947b554f8e3 | 69 | } |
| nekoyyy | 8:3eb58ae94a93 | 70 | } |
| nekoyyy | 7:1947b554f8e3 | 71 | |
| nekoyyy | 8:3eb58ae94a93 | 72 | |
| nekoyyy | 8:3eb58ae94a93 | 73 | void ZENGO1(void const *argument) { |
| nekoyyy | 8:3eb58ae94a93 | 74 | Asi1.period(0.00001); |
| nekoyyy | 7:1947b554f8e3 | 75 | while(true){ |
| nekoyyy | 8:3eb58ae94a93 | 76 | if(go1==1){ |
| nekoyyy | 8:3eb58ae94a93 | 77 | Asi1.pulsewidth(0.00000f); |
| nekoyyy | 7:1947b554f8e3 | 78 | } |
| nekoyyy | 8:3eb58ae94a93 | 79 | else if(zen1==1){ |
| nekoyyy | 8:3eb58ae94a93 | 80 | Asi1.pulsewidth(0.00001f); |
| nekoyyy | 7:1947b554f8e3 | 81 | } |
| nekoyyy | 7:1947b554f8e3 | 82 | else{ |
| nekoyyy | 8:3eb58ae94a93 | 83 | Asi1.pulsewidth(0.000005f); |
| nekoyyy | 7:1947b554f8e3 | 84 | } |
| nekoyyy | 7:1947b554f8e3 | 85 | } |
| nekoyyy | 7:1947b554f8e3 | 86 | } |
| nekoyyy | 7:1947b554f8e3 | 87 | |
| nekoyyy | 8:3eb58ae94a93 | 88 | void ZENGO2(void const *argument) { |
| nekoyyy | 8:3eb58ae94a93 | 89 | Asi2.period(0.00001); |
| nekoyyy | 7:1947b554f8e3 | 90 | while(true){ |
| nekoyyy | 8:3eb58ae94a93 | 91 | if(zen2==1){ |
| nekoyyy | 8:3eb58ae94a93 | 92 | Asi2.pulsewidth(0.000006f); |
| nekoyyy | 7:1947b554f8e3 | 93 | } |
| nekoyyy | 8:3eb58ae94a93 | 94 | else if(go2==1){ |
| nekoyyy | 8:3eb58ae94a93 | 95 | Asi2.pulsewidth(0.000004f); |
| nekoyyy | 7:1947b554f8e3 | 96 | } |
| nekoyyy | 8:3eb58ae94a93 | 97 | else{ |
| nekoyyy | 8:3eb58ae94a93 | 98 | Asi2.pulsewidth(0.000005f); |
| nekoyyy | 7:1947b554f8e3 | 99 | } |
| emilmont | 1:491820ee784d | 100 | } |
| emilmont | 1:491820ee784d | 101 | } |
| emilmont | 1:491820ee784d | 102 | |
| nekoyyy | 8:3eb58ae94a93 | 103 | void DOU1(void const *argument) { |
| nekoyyy | 8:3eb58ae94a93 | 104 | Dou1.period(0.00001); |
| nekoyyy | 8:3eb58ae94a93 | 105 | int i=1; |
| nekoyyy | 8:3eb58ae94a93 | 106 | int d=1; |
| nekoyyy | 8:3eb58ae94a93 | 107 | while(true){ |
| nekoyyy | 8:3eb58ae94a93 | 108 | if(dou1==1){ |
| nekoyyy | 8:3eb58ae94a93 | 109 | switch(d){ |
| nekoyyy | 8:3eb58ae94a93 | 110 | case 1: |
| nekoyyy | 8:3eb58ae94a93 | 111 | Dou1.pulsewidth(0.000004f); |
| nekoyyy | 8:3eb58ae94a93 | 112 | i=i++; |
| nekoyyy | 8:3eb58ae94a93 | 113 | wait(0.02); |
| nekoyyy | 8:3eb58ae94a93 | 114 | if(i>50)d=2; |
| nekoyyy | 8:3eb58ae94a93 | 115 | break; |
| nekoyyy | 8:3eb58ae94a93 | 116 | |
| nekoyyy | 8:3eb58ae94a93 | 117 | case 2: |
| nekoyyy | 8:3eb58ae94a93 | 118 | Dou1.pulsewidth(0.000006f); |
| nekoyyy | 8:3eb58ae94a93 | 119 | i=i--; |
| nekoyyy | 8:3eb58ae94a93 | 120 | wait(0.02); |
| nekoyyy | 8:3eb58ae94a93 | 121 | if(i>2){ |
| nekoyyy | 8:3eb58ae94a93 | 122 | d=1; |
| nekoyyy | 8:3eb58ae94a93 | 123 | dou1=0; |
| nekoyyy | 8:3eb58ae94a93 | 124 | } |
| nekoyyy | 8:3eb58ae94a93 | 125 | break; |
| nekoyyy | 8:3eb58ae94a93 | 126 | } |
| nekoyyy | 8:3eb58ae94a93 | 127 | } |
| nekoyyy | 8:3eb58ae94a93 | 128 | } |
| nekoyyy | 8:3eb58ae94a93 | 129 | } |
| nekoyyy | 8:3eb58ae94a93 | 130 | |
| nekoyyy | 8:3eb58ae94a93 | 131 | |
| emilmont | 1:491820ee784d | 132 | int main() { |
| nekoyyy | 7:1947b554f8e3 | 133 | Thread t1(HANTEI); |
| nekoyyy | 8:3eb58ae94a93 | 134 | Thread t2(ZENGO1); |
| nekoyyy | 8:3eb58ae94a93 | 135 | Thread t3(ZENGO2); |
| nekoyyy | 8:3eb58ae94a93 | 136 | Thread t4(DOU1); |
| nekoyyy | 8:3eb58ae94a93 | 137 | |
| nekoyyy | 8:3eb58ae94a93 | 138 | pc.printf("start\n"); |
| emilmont | 1:491820ee784d | 139 | |
| nekoyyy | 8:3eb58ae94a93 | 140 | while(1); |
| nekoyyy | 7:1947b554f8e3 | 141 | } |