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.
Fork of moter_titech by
main.cpp@11:5cd36eedffb3, 2014-01-24 (annotated)
- Committer:
- senna0116
- Date:
- Fri Jan 24 03:53:36 2014 +0000
- Revision:
- 11:5cd36eedffb3
- Parent:
- 10:808032cf71b0
moter_titech_ns;
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; |
| senna0116 | 9:56d571c1cb9f | 18 | int dou2=0; |
| nekoyyy | 7:1947b554f8e3 | 19 | |
| nekoyyy | 8:3eb58ae94a93 | 20 | void HANTEI(void const *argument) { |
| nekoyyy | 7:1947b554f8e3 | 21 | while(true){ |
| nekoyyy | 8:3eb58ae94a93 | 22 | if(pc.readable()==1){ |
| nekoyyy | 7:1947b554f8e3 | 23 | c=pc.getc(); |
| nekoyyy | 8:3eb58ae94a93 | 24 | switch(c){ |
| nekoyyy | 8:3eb58ae94a93 | 25 | case'g': |
| nekoyyy | 8:3eb58ae94a93 | 26 | zen1=1; |
| nekoyyy | 7:1947b554f8e3 | 27 | c=0; |
| senna0116 | 9:56d571c1cb9f | 28 | pc.printf("go\r\n"); |
| nekoyyy | 7:1947b554f8e3 | 29 | break; |
| nekoyyy | 7:1947b554f8e3 | 30 | |
| nekoyyy | 7:1947b554f8e3 | 31 | case'n': |
| nekoyyy | 8:3eb58ae94a93 | 32 | zen1=0; |
| nekoyyy | 8:3eb58ae94a93 | 33 | go1=0; |
| nekoyyy | 7:1947b554f8e3 | 34 | c=0; |
| senna0116 | 9:56d571c1cb9f | 35 | pc.printf("stop\r\n"); |
| nekoyyy | 7:1947b554f8e3 | 36 | break; |
| nekoyyy | 7:1947b554f8e3 | 37 | |
| nekoyyy | 8:3eb58ae94a93 | 38 | case'z': |
| nekoyyy | 8:3eb58ae94a93 | 39 | go1=1; |
| nekoyyy | 8:3eb58ae94a93 | 40 | c=0; |
| senna0116 | 9:56d571c1cb9f | 41 | pc.printf("zen\r\n"); |
| nekoyyy | 8:3eb58ae94a93 | 42 | break; |
| nekoyyy | 8:3eb58ae94a93 | 43 | |
| nekoyyy | 8:3eb58ae94a93 | 44 | case'c': |
| nekoyyy | 8:3eb58ae94a93 | 45 | zen2=1; |
| nekoyyy | 7:1947b554f8e3 | 46 | c=0; |
| senna0116 | 9:56d571c1cb9f | 47 | pc.printf("go\r\n"); |
| nekoyyy | 7:1947b554f8e3 | 48 | break; |
| nekoyyy | 7:1947b554f8e3 | 49 | |
| nekoyyy | 8:3eb58ae94a93 | 50 | case'p': |
| nekoyyy | 8:3eb58ae94a93 | 51 | zen2=0; |
| nekoyyy | 8:3eb58ae94a93 | 52 | go2=0; |
| nekoyyy | 8:3eb58ae94a93 | 53 | c=0; |
| senna0116 | 9:56d571c1cb9f | 54 | pc.printf("stop\r\n"); |
| nekoyyy | 8:3eb58ae94a93 | 55 | break; |
| nekoyyy | 8:3eb58ae94a93 | 56 | |
| nekoyyy | 8:3eb58ae94a93 | 57 | case'x': |
| nekoyyy | 8:3eb58ae94a93 | 58 | go2=1; |
| nekoyyy | 8:3eb58ae94a93 | 59 | c=0; |
| senna0116 | 9:56d571c1cb9f | 60 | pc.printf("zen\r\n"); |
| nekoyyy | 8:3eb58ae94a93 | 61 | break; |
| nekoyyy | 8:3eb58ae94a93 | 62 | |
| nekoyyy | 7:1947b554f8e3 | 63 | case'd': |
| nekoyyy | 8:3eb58ae94a93 | 64 | dou1=1; |
| nekoyyy | 8:3eb58ae94a93 | 65 | c=0; |
| senna0116 | 9:56d571c1cb9f | 66 | pc.printf("dou\r\n"); |
| senna0116 | 9:56d571c1cb9f | 67 | break; |
| senna0116 | 9:56d571c1cb9f | 68 | |
| senna0116 | 10:808032cf71b0 | 69 | case'q': |
| senna0116 | 9:56d571c1cb9f | 70 | dou2=1; |
| senna0116 | 9:56d571c1cb9f | 71 | c=0; |
| senna0116 | 9:56d571c1cb9f | 72 | pc.printf("dou_2gouki\r\n"); |
| nekoyyy | 8:3eb58ae94a93 | 73 | break; |
| nekoyyy | 8:3eb58ae94a93 | 74 | } |
| nekoyyy | 7:1947b554f8e3 | 75 | } |
| nekoyyy | 7:1947b554f8e3 | 76 | } |
| nekoyyy | 8:3eb58ae94a93 | 77 | } |
| nekoyyy | 7:1947b554f8e3 | 78 | |
| nekoyyy | 8:3eb58ae94a93 | 79 | |
| nekoyyy | 8:3eb58ae94a93 | 80 | void ZENGO1(void const *argument) { |
| nekoyyy | 8:3eb58ae94a93 | 81 | Asi1.period(0.00001); |
| nekoyyy | 7:1947b554f8e3 | 82 | while(true){ |
| nekoyyy | 8:3eb58ae94a93 | 83 | if(go1==1){ |
| nekoyyy | 8:3eb58ae94a93 | 84 | Asi1.pulsewidth(0.00000f); |
| nekoyyy | 7:1947b554f8e3 | 85 | } |
| nekoyyy | 8:3eb58ae94a93 | 86 | else if(zen1==1){ |
| nekoyyy | 8:3eb58ae94a93 | 87 | Asi1.pulsewidth(0.00001f); |
| nekoyyy | 7:1947b554f8e3 | 88 | } |
| nekoyyy | 7:1947b554f8e3 | 89 | else{ |
| nekoyyy | 8:3eb58ae94a93 | 90 | Asi1.pulsewidth(0.000005f); |
| nekoyyy | 7:1947b554f8e3 | 91 | } |
| nekoyyy | 7:1947b554f8e3 | 92 | } |
| nekoyyy | 7:1947b554f8e3 | 93 | } |
| nekoyyy | 7:1947b554f8e3 | 94 | |
| nekoyyy | 8:3eb58ae94a93 | 95 | void ZENGO2(void const *argument) { |
| nekoyyy | 8:3eb58ae94a93 | 96 | Asi2.period(0.00001); |
| nekoyyy | 7:1947b554f8e3 | 97 | while(true){ |
| nekoyyy | 8:3eb58ae94a93 | 98 | if(zen2==1){ |
| nekoyyy | 8:3eb58ae94a93 | 99 | Asi2.pulsewidth(0.000006f); |
| nekoyyy | 7:1947b554f8e3 | 100 | } |
| nekoyyy | 8:3eb58ae94a93 | 101 | else if(go2==1){ |
| nekoyyy | 8:3eb58ae94a93 | 102 | Asi2.pulsewidth(0.000004f); |
| nekoyyy | 7:1947b554f8e3 | 103 | } |
| nekoyyy | 8:3eb58ae94a93 | 104 | else{ |
| nekoyyy | 8:3eb58ae94a93 | 105 | Asi2.pulsewidth(0.000005f); |
| nekoyyy | 7:1947b554f8e3 | 106 | } |
| emilmont | 1:491820ee784d | 107 | } |
| emilmont | 1:491820ee784d | 108 | } |
| emilmont | 1:491820ee784d | 109 | |
| nekoyyy | 8:3eb58ae94a93 | 110 | void DOU1(void const *argument) { |
| senna0116 | 11:5cd36eedffb3 | 111 | Dou1.period(0.00001f); |
| senna0116 | 9:56d571c1cb9f | 112 | Dou1.pulsewidth(0.000005f); |
| nekoyyy | 8:3eb58ae94a93 | 113 | int i=1; |
| nekoyyy | 8:3eb58ae94a93 | 114 | int d=1; |
| nekoyyy | 8:3eb58ae94a93 | 115 | while(true){ |
| nekoyyy | 8:3eb58ae94a93 | 116 | if(dou1==1){ |
| nekoyyy | 8:3eb58ae94a93 | 117 | switch(d){ |
| nekoyyy | 8:3eb58ae94a93 | 118 | case 1: |
| senna0116 | 11:5cd36eedffb3 | 119 | Dou1.pulsewidth(0.000006f); |
| nekoyyy | 8:3eb58ae94a93 | 120 | i=i++; |
| nekoyyy | 8:3eb58ae94a93 | 121 | wait(0.02); |
| nekoyyy | 8:3eb58ae94a93 | 122 | if(i>50)d=2; |
| nekoyyy | 8:3eb58ae94a93 | 123 | break; |
| nekoyyy | 8:3eb58ae94a93 | 124 | |
| nekoyyy | 8:3eb58ae94a93 | 125 | case 2: |
| senna0116 | 9:56d571c1cb9f | 126 | Dou1.pulsewidth(0.000005f); |
| nekoyyy | 8:3eb58ae94a93 | 127 | i=i--; |
| nekoyyy | 8:3eb58ae94a93 | 128 | wait(0.02); |
| senna0116 | 9:56d571c1cb9f | 129 | if(i<2){ |
| nekoyyy | 8:3eb58ae94a93 | 130 | d=1; |
| nekoyyy | 8:3eb58ae94a93 | 131 | dou1=0; |
| nekoyyy | 8:3eb58ae94a93 | 132 | } |
| nekoyyy | 8:3eb58ae94a93 | 133 | break; |
| nekoyyy | 8:3eb58ae94a93 | 134 | } |
| nekoyyy | 8:3eb58ae94a93 | 135 | } |
| nekoyyy | 8:3eb58ae94a93 | 136 | } |
| nekoyyy | 8:3eb58ae94a93 | 137 | } |
| senna0116 | 9:56d571c1cb9f | 138 | |
| senna0116 | 9:56d571c1cb9f | 139 | void DOU2(void const *argument) { |
| senna0116 | 9:56d571c1cb9f | 140 | Dou2.period(0.00001); |
| senna0116 | 9:56d571c1cb9f | 141 | Dou2.pulsewidth(0.000005f); |
| senna0116 | 9:56d571c1cb9f | 142 | int j=1; |
| senna0116 | 10:808032cf71b0 | 143 | int q=1; |
| senna0116 | 9:56d571c1cb9f | 144 | while(true){ |
| senna0116 | 9:56d571c1cb9f | 145 | if(dou2==1){ |
| senna0116 | 10:808032cf71b0 | 146 | switch(q){ |
| senna0116 | 9:56d571c1cb9f | 147 | case 1: |
| senna0116 | 11:5cd36eedffb3 | 148 | Dou2.pulsewidth(0.000006f); |
| senna0116 | 9:56d571c1cb9f | 149 | j=j++; |
| senna0116 | 9:56d571c1cb9f | 150 | wait(0.02); |
| senna0116 | 10:808032cf71b0 | 151 | if(j>50)q=2; |
| senna0116 | 9:56d571c1cb9f | 152 | break; |
| senna0116 | 9:56d571c1cb9f | 153 | |
| senna0116 | 9:56d571c1cb9f | 154 | case 2: |
| senna0116 | 9:56d571c1cb9f | 155 | Dou2.pulsewidth(0.000005f); |
| senna0116 | 9:56d571c1cb9f | 156 | j=j--; |
| senna0116 | 9:56d571c1cb9f | 157 | wait(0.02); |
| senna0116 | 9:56d571c1cb9f | 158 | if(j<2){ |
| senna0116 | 10:808032cf71b0 | 159 | q=1; |
| senna0116 | 9:56d571c1cb9f | 160 | dou2=0; |
| senna0116 | 9:56d571c1cb9f | 161 | } |
| senna0116 | 9:56d571c1cb9f | 162 | break; |
| senna0116 | 9:56d571c1cb9f | 163 | } |
| senna0116 | 9:56d571c1cb9f | 164 | } |
| senna0116 | 9:56d571c1cb9f | 165 | } |
| senna0116 | 9:56d571c1cb9f | 166 | } |
| nekoyyy | 8:3eb58ae94a93 | 167 | |
| emilmont | 1:491820ee784d | 168 | int main() { |
| nekoyyy | 7:1947b554f8e3 | 169 | Thread t1(HANTEI); |
| nekoyyy | 8:3eb58ae94a93 | 170 | Thread t2(ZENGO1); |
| nekoyyy | 8:3eb58ae94a93 | 171 | Thread t3(ZENGO2); |
| nekoyyy | 8:3eb58ae94a93 | 172 | Thread t4(DOU1); |
| senna0116 | 11:5cd36eedffb3 | 173 | // Thread t5(DOU2); |
| nekoyyy | 8:3eb58ae94a93 | 174 | |
| senna0116 | 9:56d571c1cb9f | 175 | pc.printf("start\r\n"); |
| emilmont | 1:491820ee784d | 176 | |
| nekoyyy | 8:3eb58ae94a93 | 177 | while(1); |
| nekoyyy | 7:1947b554f8e3 | 178 | } |
