Naoyuki SAITO / Mbed 2 deprecated moter_titech_ns

Dependencies:   mbed-rtos mbed

Fork of moter_titech by y w

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?

UserRevisionLine numberNew 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 }