AES-2015 / Mbed 2 deprecated UART

Dependencies:   mbed

Fork of UART by Krissadin Kamolpattana

Committer:
BAC
Date:
Tue Dec 15 01:56:41 2015 +0000
Revision:
1:8eb45178d28c
Parent:
0:4b741d1ca320
feedforward

Who changed what in which revision?

UserRevisionLine numberNew contents of line
BAC 0:4b741d1ca320 1 #include "mbed.h"
BAC 0:4b741d1ca320 2
BAC 0:4b741d1ca320 3 AnalogIn F1p(PA_0);
BAC 0:4b741d1ca320 4 AnalogIn F1n(PA_1);
BAC 0:4b741d1ca320 5 AnalogIn F2p(PA_4);
BAC 0:4b741d1ca320 6 AnalogIn F2n(PB_0);
BAC 0:4b741d1ca320 7 AnalogIn F3p(PC_1);
BAC 0:4b741d1ca320 8 AnalogIn F3n(PC_0);
BAC 0:4b741d1ca320 9
BAC 0:4b741d1ca320 10 DigitalOut myled(PA_5);
BAC 0:4b741d1ca320 11 PwmOut M1(PA_6);
BAC 0:4b741d1ca320 12 PwmOut M2(PA_7);
BAC 0:4b741d1ca320 13 PwmOut M3(PB_6);
BAC 0:4b741d1ca320 14
BAC 0:4b741d1ca320 15 Serial UART(SERIAL_TX, SERIAL_RX);
BAC 0:4b741d1ca320 16
BAC 0:4b741d1ca320 17 int main() {
BAC 0:4b741d1ca320 18 float w1 = 1025, w2 = 620, w3 = 1365;
BAC 0:4b741d1ca320 19 int i;
BAC 0:4b741d1ca320 20 float fb1 = 0, fb2 = 0, fb3 = 0;
BAC 0:4b741d1ca320 21 char c;
BAC 0:4b741d1ca320 22 M1.period_ms(20);
BAC 0:4b741d1ca320 23 M2.period_ms(20);
BAC 0:4b741d1ca320 24 M3.period_ms(20);
BAC 1:8eb45178d28c 25 // Home position
BAC 0:4b741d1ca320 26 M1.pulsewidth_us(1900);
BAC 0:4b741d1ca320 27 M2.pulsewidth_us(600);
BAC 0:4b741d1ca320 28 M3.pulsewidth_us(2000);
BAC 1:8eb45178d28c 29 wait(2.0);
BAC 1:8eb45178d28c 30
BAC 1:8eb45178d28c 31 // first move
BAC 1:8eb45178d28c 32 for(i=0;i<500;i++)
BAC 1:8eb45178d28c 33 {
BAC 1:8eb45178d28c 34 M1.pulsewidth_us(1900 - (unsigned int)(i*1.75));
BAC 1:8eb45178d28c 35 printf("%d",1900 - (unsigned int)(i*0.853));
BAC 1:8eb45178d28c 36 }
BAC 1:8eb45178d28c 37 wait(2.0);
BAC 1:8eb45178d28c 38 i=0;
BAC 1:8eb45178d28c 39 for(i=0;i<1000;i++)
BAC 1:8eb45178d28c 40 {
BAC 1:8eb45178d28c 41 M3.pulsewidth_us(2000 - (unsigned int)(i*0.653));
BAC 1:8eb45178d28c 42 printf("%d",2000 - (unsigned int)(i*0.653));
BAC 1:8eb45178d28c 43 }
BAC 1:8eb45178d28c 44
BAC 1:8eb45178d28c 45 M1.pulsewidth_us(1025);
BAC 1:8eb45178d28c 46 M2.pulsewidth_us(591);
BAC 1:8eb45178d28c 47 M3.pulsewidth_us(1347);
BAC 1:8eb45178d28c 48 wait(2.0);
BAC 1:8eb45178d28c 49
BAC 1:8eb45178d28c 50 M1.pulsewidth_us(1005);
BAC 1:8eb45178d28c 51 M2.pulsewidth_us(626);
BAC 1:8eb45178d28c 52 M3.pulsewidth_us(1371);
BAC 1:8eb45178d28c 53 wait(2.0);
BAC 1:8eb45178d28c 54
BAC 1:8eb45178d28c 55 M1.pulsewidth_us(991);
BAC 1:8eb45178d28c 56 M2.pulsewidth_us(630);
BAC 1:8eb45178d28c 57 M3.pulsewidth_us(1417);
BAC 1:8eb45178d28c 58 wait(2.0);
BAC 1:8eb45178d28c 59
BAC 1:8eb45178d28c 60 M1.pulsewidth_us(985);
BAC 1:8eb45178d28c 61 M2.pulsewidth_us(636);
BAC 1:8eb45178d28c 62 M3.pulsewidth_us(1430);
BAC 1:8eb45178d28c 63 wait(2.0);
BAC 1:8eb45178d28c 64
BAC 1:8eb45178d28c 65 M1.pulsewidth_us(963);
BAC 1:8eb45178d28c 66 M2.pulsewidth_us(642);
BAC 1:8eb45178d28c 67 M3.pulsewidth_us(1445);
BAC 1:8eb45178d28c 68 wait(2.0);
BAC 1:8eb45178d28c 69
BAC 1:8eb45178d28c 70 M1.pulsewidth_us(953);
BAC 1:8eb45178d28c 71 M2.pulsewidth_us(680);
BAC 1:8eb45178d28c 72 M3.pulsewidth_us(1451);
BAC 1:8eb45178d28c 73 wait(2.0);
BAC 0:4b741d1ca320 74
BAC 1:8eb45178d28c 75 M1.pulsewidth_us(947);
BAC 1:8eb45178d28c 76 M2.pulsewidth_us(688);
BAC 1:8eb45178d28c 77 M3.pulsewidth_us(1461);
BAC 1:8eb45178d28c 78 wait(2.0);
BAC 1:8eb45178d28c 79
BAC 1:8eb45178d28c 80 M1.pulsewidth_us(935);
BAC 1:8eb45178d28c 81 M2.pulsewidth_us(710);
BAC 1:8eb45178d28c 82 M3.pulsewidth_us(1467);
BAC 1:8eb45178d28c 83 wait(2.0);
BAC 1:8eb45178d28c 84
BAC 1:8eb45178d28c 85 M1.pulsewidth_us(913);
BAC 1:8eb45178d28c 86 M2.pulsewidth_us(728);
BAC 1:8eb45178d28c 87 M3.pulsewidth_us(1485);
BAC 1:8eb45178d28c 88 wait(2.0);
BAC 1:8eb45178d28c 89
BAC 1:8eb45178d28c 90 M1.pulsewidth_us(909);
BAC 1:8eb45178d28c 91 M2.pulsewidth_us(750);
BAC 1:8eb45178d28c 92 M3.pulsewidth_us(1503);
BAC 1:8eb45178d28c 93 wait(2.0);
BAC 1:8eb45178d28c 94
BAC 1:8eb45178d28c 95 M1.pulsewidth_us(913);
BAC 1:8eb45178d28c 96 M2.pulsewidth_us(774);
BAC 1:8eb45178d28c 97 M3.pulsewidth_us(1519);
BAC 1:8eb45178d28c 98 wait(2.0);
BAC 1:8eb45178d28c 99
BAC 1:8eb45178d28c 100 M1.pulsewidth_us(977);
BAC 1:8eb45178d28c 101 M2.pulsewidth_us(792);
BAC 1:8eb45178d28c 102 M3.pulsewidth_us(1545);
BAC 1:8eb45178d28c 103 wait(2.0);
BAC 1:8eb45178d28c 104
BAC 1:8eb45178d28c 105 M1.pulsewidth_us(999);
BAC 1:8eb45178d28c 106 M2.pulsewidth_us(828);
BAC 1:8eb45178d28c 107 M3.pulsewidth_us(1545);
BAC 1:8eb45178d28c 108 wait(2.0);
BAC 1:8eb45178d28c 109
BAC 1:8eb45178d28c 110 M1.pulsewidth_us(999);
BAC 1:8eb45178d28c 111 M2.pulsewidth_us(855);
BAC 1:8eb45178d28c 112 M3.pulsewidth_us(1570);
BAC 1:8eb45178d28c 113 wait(2.0);
BAC 1:8eb45178d28c 114
BAC 1:8eb45178d28c 115 M1.pulsewidth_us(1023);
BAC 1:8eb45178d28c 116 M2.pulsewidth_us(863);
BAC 1:8eb45178d28c 117 M3.pulsewidth_us(1592);
BAC 1:8eb45178d28c 118 wait(2.0);
BAC 1:8eb45178d28c 119
BAC 1:8eb45178d28c 120 M1.pulsewidth_us(1045);
BAC 1:8eb45178d28c 121 M2.pulsewidth_us(875);
BAC 1:8eb45178d28c 122 M3.pulsewidth_us(1590);
BAC 1:8eb45178d28c 123 wait(2.0);
BAC 1:8eb45178d28c 124
BAC 1:8eb45178d28c 125 M1.pulsewidth_us(1071);
BAC 1:8eb45178d28c 126 M2.pulsewidth_us(890);
BAC 1:8eb45178d28c 127 M3.pulsewidth_us(1605);
BAC 1:8eb45178d28c 128 wait(2.0);
BAC 0:4b741d1ca320 129
BAC 1:8eb45178d28c 130 M1.pulsewidth_us(1085);
BAC 1:8eb45178d28c 131 M2.pulsewidth_us(898);
BAC 1:8eb45178d28c 132 M3.pulsewidth_us(1590);
BAC 1:8eb45178d28c 133 wait(2.0);
BAC 1:8eb45178d28c 134
BAC 1:8eb45178d28c 135 M1.pulsewidth_us(1109);
BAC 1:8eb45178d28c 136 M2.pulsewidth_us(910);
BAC 1:8eb45178d28c 137 M3.pulsewidth_us(1590);
BAC 1:8eb45178d28c 138 wait(2.0);
BAC 1:8eb45178d28c 139
BAC 1:8eb45178d28c 140 M1.pulsewidth_us(1151);
BAC 1:8eb45178d28c 141 M2.pulsewidth_us(930);
BAC 1:8eb45178d28c 142 M3.pulsewidth_us(1611);
BAC 1:8eb45178d28c 143 wait(2.0);
BAC 1:8eb45178d28c 144
BAC 1:8eb45178d28c 145 M1.pulsewidth_us(1163);
BAC 1:8eb45178d28c 146 M2.pulsewidth_us(906);
BAC 1:8eb45178d28c 147 M3.pulsewidth_us(1575);
BAC 1:8eb45178d28c 148 wait(2.0);
BAC 1:8eb45178d28c 149
BAC 1:8eb45178d28c 150 M1.pulsewidth_us(1169);
BAC 1:8eb45178d28c 151 M2.pulsewidth_us(864);
BAC 1:8eb45178d28c 152 M3.pulsewidth_us(1533);
BAC 1:8eb45178d28c 153 wait(2.0);
BAC 1:8eb45178d28c 154
BAC 1:8eb45178d28c 155 M1.pulsewidth_us(1173);
BAC 1:8eb45178d28c 156 M2.pulsewidth_us(794);
BAC 1:8eb45178d28c 157 M3.pulsewidth_us(1519);
BAC 1:8eb45178d28c 158 wait(2.0);
BAC 1:8eb45178d28c 159
BAC 1:8eb45178d28c 160 M1.pulsewidth_us(1189);
BAC 1:8eb45178d28c 161 M2.pulsewidth_us(790);
BAC 1:8eb45178d28c 162 M3.pulsewidth_us(1511);
BAC 1:8eb45178d28c 163 wait(2.0);
BAC 1:8eb45178d28c 164
BAC 1:8eb45178d28c 165 M1.pulsewidth_us(1215);
BAC 1:8eb45178d28c 166 M2.pulsewidth_us(776);
BAC 1:8eb45178d28c 167 M3.pulsewidth_us(1479);
BAC 1:8eb45178d28c 168 wait(2.0);
BAC 1:8eb45178d28c 169
BAC 1:8eb45178d28c 170 M1.pulsewidth_us(1219);
BAC 1:8eb45178d28c 171 M2.pulsewidth_us(752);
BAC 1:8eb45178d28c 172 M3.pulsewidth_us(1455);
BAC 1:8eb45178d28c 173 wait(2.0);
BAC 1:8eb45178d28c 174
BAC 1:8eb45178d28c 175 M1.pulsewidth_us(1223);
BAC 1:8eb45178d28c 176 M2.pulsewidth_us(732);
BAC 1:8eb45178d28c 177 M3.pulsewidth_us(1429);
BAC 1:8eb45178d28c 178 wait(2.0);
BAC 0:4b741d1ca320 179
BAC 1:8eb45178d28c 180 M1.pulsewidth_us(1225);
BAC 1:8eb45178d28c 181 M2.pulsewidth_us(704);
BAC 1:8eb45178d28c 182 M3.pulsewidth_us(1405);
BAC 1:8eb45178d28c 183 wait(2.0);
BAC 1:8eb45178d28c 184
BAC 1:8eb45178d28c 185 M1.pulsewidth_us(1210);
BAC 1:8eb45178d28c 186 M2.pulsewidth_us(676);
BAC 1:8eb45178d28c 187 M3.pulsewidth_us(1385);
BAC 1:8eb45178d28c 188 wait(2.0);
BAC 1:8eb45178d28c 189
BAC 1:8eb45178d28c 190 M1.pulsewidth_us(1180);
BAC 1:8eb45178d28c 191 M2.pulsewidth_us(650);
BAC 1:8eb45178d28c 192 M3.pulsewidth_us(1370);
BAC 1:8eb45178d28c 193 wait(2.0);
BAC 1:8eb45178d28c 194
BAC 1:8eb45178d28c 195 M1.pulsewidth_us(1156);
BAC 1:8eb45178d28c 196 M2.pulsewidth_us(614);
BAC 1:8eb45178d28c 197 M3.pulsewidth_us(1344);
BAC 1:8eb45178d28c 198 wait(2.0);
BAC 1:8eb45178d28c 199
BAC 1:8eb45178d28c 200 M1.pulsewidth_us(1122);
BAC 1:8eb45178d28c 201 M2.pulsewidth_us(596);
BAC 1:8eb45178d28c 202 M3.pulsewidth_us(1334);
BAC 1:8eb45178d28c 203 wait(2.0);
BAC 0:4b741d1ca320 204
BAC 1:8eb45178d28c 205 M1.pulsewidth_us(1104);
BAC 1:8eb45178d28c 206 M2.pulsewidth_us(586);
BAC 1:8eb45178d28c 207 M3.pulsewidth_us(1330);
BAC 1:8eb45178d28c 208 wait(2.0);
BAC 1:8eb45178d28c 209
BAC 1:8eb45178d28c 210 M1.pulsewidth_us(1090);
BAC 1:8eb45178d28c 211 M2.pulsewidth_us(566);
BAC 1:8eb45178d28c 212 M3.pulsewidth_us(1328);
BAC 1:8eb45178d28c 213 wait(2.0);
BAC 1:8eb45178d28c 214
BAC 1:8eb45178d28c 215 M1.pulsewidth_us(1064);
BAC 1:8eb45178d28c 216 M2.pulsewidth_us(560);
BAC 1:8eb45178d28c 217 M3.pulsewidth_us(1324);
BAC 1:8eb45178d28c 218 wait(2.0);
BAC 1:8eb45178d28c 219
BAC 1:8eb45178d28c 220 M1.pulsewidth_us(1048);
BAC 1:8eb45178d28c 221 M2.pulsewidth_us(558);
BAC 1:8eb45178d28c 222 M3.pulsewidth_us(1320);
BAC 1:8eb45178d28c 223 wait(2.0);
BAC 1:8eb45178d28c 224
BAC 1:8eb45178d28c 225 M1.pulsewidth_us(1016);
BAC 1:8eb45178d28c 226 M2.pulsewidth_us(580);
BAC 1:8eb45178d28c 227 M3.pulsewidth_us(1330);
BAC 1:8eb45178d28c 228 wait(2.0);
BAC 1:8eb45178d28c 229
BAC 1:8eb45178d28c 230 w1 = 1016;
BAC 1:8eb45178d28c 231 w2 = 580;
BAC 1:8eb45178d28c 232 w3 = 1330;
BAC 0:4b741d1ca320 233
BAC 0:4b741d1ca320 234 //=============================================
BAC 0:4b741d1ca320 235
BAC 1:8eb45178d28c 236
BAC 0:4b741d1ca320 237
BAC 1:8eb45178d28c 238
BAC 1:8eb45178d28c 239
BAC 1:8eb45178d28c 240
BAC 0:4b741d1ca320 241
BAC 0:4b741d1ca320 242
BAC 0:4b741d1ca320 243 UART.baud(9600); // Set BuadRate
BAC 0:4b741d1ca320 244 printf("PW1 = %f us,PW2 = %f us,PW3 = %f us \n\r",w1,w2,w3);
BAC 0:4b741d1ca320 245 while(1) {
BAC 0:4b741d1ca320 246 c = UART.getc();
BAC 0:4b741d1ca320 247 if(c == '1')
BAC 0:4b741d1ca320 248 {
BAC 0:4b741d1ca320 249 w1 = w1 + 2;
BAC 0:4b741d1ca320 250 }
BAC 0:4b741d1ca320 251 else if(c == '2')
BAC 0:4b741d1ca320 252 {
BAC 0:4b741d1ca320 253 w1 = w1 - 2;
BAC 0:4b741d1ca320 254 }
BAC 0:4b741d1ca320 255 else if(c == '3')
BAC 0:4b741d1ca320 256 {
BAC 0:4b741d1ca320 257 w2 = w2 + 2;
BAC 0:4b741d1ca320 258 }
BAC 0:4b741d1ca320 259 else if(c == '4')
BAC 0:4b741d1ca320 260 {
BAC 0:4b741d1ca320 261 w2 = w2 - 2;
BAC 0:4b741d1ca320 262 }
BAC 0:4b741d1ca320 263 else if(c == '5')
BAC 0:4b741d1ca320 264 {
BAC 0:4b741d1ca320 265 w3 = w3 + 2;
BAC 0:4b741d1ca320 266 }
BAC 0:4b741d1ca320 267 else if(c == '6')
BAC 0:4b741d1ca320 268 {
BAC 0:4b741d1ca320 269 w3 = w3 - 2;
BAC 0:4b741d1ca320 270 }
BAC 0:4b741d1ca320 271
BAC 0:4b741d1ca320 272 printf("PW1 = %f us,PW2 = %f us,PW3 = %f us \n\r",w1,w2,w3);
BAC 0:4b741d1ca320 273 M1.pulsewidth_us(w1);
BAC 0:4b741d1ca320 274 M2.pulsewidth_us(w2);
BAC 0:4b741d1ca320 275 M3.pulsewidth_us(w3);
BAC 0:4b741d1ca320 276
BAC 0:4b741d1ca320 277 for(i=0;i<=9;i++)
BAC 0:4b741d1ca320 278 {
BAC 0:4b741d1ca320 279 fb1 = fb1 + ((F1p-F1n)*3.3f);
BAC 0:4b741d1ca320 280 fb2 = fb2 + ((F2p-F2n)*3.3f);
BAC 0:4b741d1ca320 281 fb3 = fb3 + ((F3p-F3n)*3.3f);
BAC 0:4b741d1ca320 282 }
BAC 0:4b741d1ca320 283 printf("FB1 = %f V, FB2 = %f V, FB3 = %f V\r\r\n",(fb1/10),(fb2/10),(fb3/10));
BAC 0:4b741d1ca320 284 fb1 = 0;
BAC 0:4b741d1ca320 285 fb2 = 0;
BAC 0:4b741d1ca320 286 fb3 = 0;
BAC 0:4b741d1ca320 287 myled = !myled;
BAC 0:4b741d1ca320 288 }
BAC 0:4b741d1ca320 289 }