y w / Mbed 2 deprecated moter_titech

Dependencies:   mbed-rtos mbed

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?

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;
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 }