Changeset 3 for trunk/firmware/SES/Src
- Timestamp:
- Apr 20, 2023, 3:13:21 PM (3 years ago)
- File:
-
- 1 edited
-
trunk/firmware/SES/Src/precharge.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/firmware/SES/Src/precharge.c
r2 r3 6 6 #include "precharge.h" 7 7 8 #define DELAYS_NUM 43U8 #define DELAYS_NUM 7U 9 9 10 10 extern void (*MOSFETS_Management)(void); … … 28 28 #endif 29 29 { 30 const int32_t MHz = 1000000U; 30 31 static int stage = 0; 31 32 static int cnt = 0; 32 33 static int mal = 0; 33 // DAC = 0 DAC = 3V 34 const int delay_µs[DELAYS_NUM] = { 50, 1, // 0, 1 - 6710µs is MAX @320kHz 35 50, 1, // 2, 3 36 50, 1, // 4, 5 37 50, 1, // 6, 7 38 50, 1, // 9, 9 39 50, 1, // 10, 11 40 50, 1, // 12, 13 41 50, 1, // 14, 15 42 50, 1, // 16, 17 43 50, 1, // 18, 19 44 50, 1, // 20, 21 45 50, 1, // 22, 23 46 50, 1, // 24, 25 47 50, 1, // 26, 27 48 50, 1, // 28, 29 49 50, 1, // 30, 31 50 50, 1, // 32, 33 51 50, 1, // 34, 35 52 50, 1, // 36, 37 53 50, 1, // 38, 39 54 50, 1, // 40, 41 55 50}; // 42 56 const int delay_cnt[DELAYS_NUM] = { (delay_µs[ 0] * CURRENT_INTEGRAL_FREQ) / 1000000U, 57 (delay_µs[ 1] * CURRENT_INTEGRAL_FREQ) / 1000000U, 58 (delay_µs[ 2] * CURRENT_INTEGRAL_FREQ) / 1000000U, 59 (delay_µs[ 3] * CURRENT_INTEGRAL_FREQ) / 1000000U, 60 (delay_µs[ 4] * CURRENT_INTEGRAL_FREQ) / 1000000U, 61 (delay_µs[ 5] * CURRENT_INTEGRAL_FREQ) / 1000000U, 62 (delay_µs[ 6] * CURRENT_INTEGRAL_FREQ) / 1000000U, 63 (delay_µs[ 7] * CURRENT_INTEGRAL_FREQ) / 1000000U, 64 (delay_µs[ 8] * CURRENT_INTEGRAL_FREQ) / 1000000U, 65 (delay_µs[ 9] * CURRENT_INTEGRAL_FREQ) / 1000000U, 66 (delay_µs[10] * CURRENT_INTEGRAL_FREQ) / 1000000U, 67 (delay_µs[11] * CURRENT_INTEGRAL_FREQ) / 1000000U, 68 (delay_µs[12] * CURRENT_INTEGRAL_FREQ) / 1000000U, 69 (delay_µs[13] * CURRENT_INTEGRAL_FREQ) / 1000000U, 70 (delay_µs[14] * CURRENT_INTEGRAL_FREQ) / 1000000U, 71 (delay_µs[15] * CURRENT_INTEGRAL_FREQ) / 1000000U, 72 (delay_µs[16] * CURRENT_INTEGRAL_FREQ) / 1000000U, 73 (delay_µs[17] * CURRENT_INTEGRAL_FREQ) / 1000000U, 74 (delay_µs[18] * CURRENT_INTEGRAL_FREQ) / 1000000U, 75 (delay_µs[19] * CURRENT_INTEGRAL_FREQ) / 1000000U, 76 (delay_µs[20] * CURRENT_INTEGRAL_FREQ) / 1000000U, 77 (delay_µs[21] * CURRENT_INTEGRAL_FREQ) / 1000000U, 78 (delay_µs[22] * CURRENT_INTEGRAL_FREQ) / 1000000U, 79 (delay_µs[23] * CURRENT_INTEGRAL_FREQ) / 1000000U, 80 (delay_µs[24] * CURRENT_INTEGRAL_FREQ) / 1000000U, 81 (delay_µs[25] * CURRENT_INTEGRAL_FREQ) / 1000000U, 82 (delay_µs[26] * CURRENT_INTEGRAL_FREQ) / 1000000U, 83 (delay_µs[27] * CURRENT_INTEGRAL_FREQ) / 1000000U, 84 (delay_µs[28] * CURRENT_INTEGRAL_FREQ) / 1000000U, 85 (delay_µs[29] * CURRENT_INTEGRAL_FREQ) / 1000000U, 86 (delay_µs[30] * CURRENT_INTEGRAL_FREQ) / 1000000U, 87 (delay_µs[31] * CURRENT_INTEGRAL_FREQ) / 1000000U, 88 (delay_µs[32] * CURRENT_INTEGRAL_FREQ) / 1000000U, 89 (delay_µs[33] * CURRENT_INTEGRAL_FREQ) / 1000000U, 90 (delay_µs[34] * CURRENT_INTEGRAL_FREQ) / 1000000U, 91 (delay_µs[35] * CURRENT_INTEGRAL_FREQ) / 1000000U, 92 (delay_µs[36] * CURRENT_INTEGRAL_FREQ) / 1000000U, 93 (delay_µs[37] * CURRENT_INTEGRAL_FREQ) / 1000000U, 94 (delay_µs[38] * CURRENT_INTEGRAL_FREQ) / 1000000U, 95 (delay_µs[39] * CURRENT_INTEGRAL_FREQ) / 1000000U, 96 (delay_µs[40] * CURRENT_INTEGRAL_FREQ) / 1000000U, 97 (delay_µs[41] * CURRENT_INTEGRAL_FREQ) / 1000000U, 98 (delay_µs[42] * CURRENT_INTEGRAL_FREQ) / 1000000U 99 }; 34 // DAC = 0 DAC = 3V 35 const int32_t delay_µs[DELAYS_NUM] = { 3, 3, // 0, 1 - 6710µs is MAX @320kHz, [0,1,2,3] = 3µs 36 300, 3, // 2, 3 37 50, 3, // 4, 5 38 50 // 6 39 }; 40 const int32_t delay_cnt[DELAYS_NUM] = { (delay_µs[ 0 ] * CURRENT_INTEGRAL_FREQ) / MHz, 41 (delay_µs[ 1 ] * CURRENT_INTEGRAL_FREQ) / MHz, 42 (delay_µs[ 2 ] * CURRENT_INTEGRAL_FREQ) / MHz, 43 (delay_µs[ 3 ] * CURRENT_INTEGRAL_FREQ) / MHz, 44 (delay_µs[ 4 ] * CURRENT_INTEGRAL_FREQ) / MHz, 45 (delay_µs[ 5 ] * CURRENT_INTEGRAL_FREQ) / MHz, 46 (delay_µs[ 6 ] * CURRENT_INTEGRAL_FREQ) / MHz, 47 }; 100 48 101 49 switch(stage) … … 106 54 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 107 55 108 if (cnt++ >= delay_cnt[0]) 56 if (cnt++ >= delay_cnt[0]) // 1c 109 57 { 110 58 cnt = 0; … … 114 62 115 63 case 1: 116 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V ;117 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V ;64 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V >> 1; 65 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V >> 1; 118 66 119 if (cnt++ >= delay_cnt[1]) 67 if (cnt++ >= delay_cnt[1]) // 1c 120 68 { 121 69 cnt = 0; … … 124 72 break; 125 73 126 /*case 2:74 case 2: 127 75 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 128 76 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 129 77 130 if (cnt++ >= delay_cnt[2]) 78 if (cnt++ >= delay_cnt[2]) // 300c 131 79 { 132 80 cnt = 0; … … 136 84 137 85 case 3: 138 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V;139 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V;86 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = 0xBFF;//DAC_3V; 87 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = 0xBFF;//DAC_3V; 140 88 141 if (cnt++ >= delay_cnt[3]) 89 if (cnt++ >= delay_cnt[3]) // 1c 142 90 { 143 91 cnt = 0; … … 150 98 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 151 99 152 if (cnt++ >= delay_cnt[4]) 100 if (cnt++ >= delay_cnt[4]) // 50c 153 101 { 154 102 cnt = 0; … … 161 109 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 162 110 163 if (cnt++ >= delay_cnt[5]) 111 if (cnt++ >= delay_cnt[5]) // 1c 164 112 { 165 113 cnt = 0; … … 172 120 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 173 121 174 if (cnt++ >= delay_cnt[6]) 122 if (cnt++ >= delay_cnt[6]) // 50c 175 123 { 176 124 cnt = 0; 177 stage++; 178 } 179 break; 180 181 case 7: 182 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 183 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 184 185 if (cnt++ >= delay_cnt[7]) 186 { 187 cnt = 0; 188 stage++; 189 } 190 break; 191 192 case 8: 193 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 194 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 195 196 if (cnt++ >= delay_cnt[8]) 197 { 198 cnt = 0; 199 stage++; 200 } 201 break; 202 203 case 9: 204 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 205 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 206 207 if (cnt++ >= delay_cnt[9]) 208 { 209 cnt = 0; 210 stage++; 211 } 212 break; 213 214 case 10: 215 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 216 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 217 218 if (cnt++ >= delay_cnt[10]) 219 { 220 cnt = 0; 221 stage++; 222 } 223 break; 224 225 case 11: 226 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 227 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 228 229 if (cnt++ >= delay_cnt[11]) 230 { 231 cnt = 0; 232 stage++; 233 } 234 break; 235 236 case 12: 237 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 238 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 239 240 if (cnt++ >= delay_cnt[12]) 241 { 242 cnt = 0; 243 stage++; 244 } 245 break; 246 247 case 13: 248 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 249 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 250 251 if (cnt++ >= delay_cnt[13]) 252 { 253 cnt = 0; 254 stage++; 255 } 256 break; 257 258 case 14: 259 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 260 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 261 262 if (cnt++ >= delay_cnt[14]) 263 { 264 cnt = 0; 265 stage++; 266 } 267 break; 268 269 case 15: 270 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 271 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 272 273 if (cnt++ >= delay_cnt[15]) 274 { 275 cnt = 0; 276 stage++; 277 } 278 break; 279 280 case 16: 281 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 282 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 283 284 if (cnt++ >= delay_cnt[16]) 285 { 286 cnt = 0; 287 stage++; 288 } 289 break; 290 291 case 17: 292 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 293 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 294 295 if (cnt++ >= delay_cnt[17]) 296 { 297 cnt = 0; 298 stage++; 299 } 300 break; 301 302 case 18: 303 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 304 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 305 306 if (cnt++ >= delay_cnt[18]) 307 { 308 cnt = 0; 309 stage++; 310 } 311 break; 312 313 case 19: 314 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 315 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 316 317 if (cnt++ >= delay_cnt[19]) 318 { 319 cnt = 0; 320 stage++; 321 } 322 break; 323 324 case 20: 325 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 326 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 327 328 if (cnt++ >= delay_cnt[20]) 329 { 330 cnt = 0; 331 stage++; 332 } 333 break; 334 335 case 21: 336 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 337 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 338 339 if (cnt++ >= delay_cnt[21]) 340 { 341 cnt = 0; 342 stage++; 343 } 344 break; 345 346 case 22: 347 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 348 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 349 350 if (cnt++ >= delay_cnt[22]) 351 { 352 cnt = 0; 353 stage++; 354 } 355 break; 356 357 case 23: 358 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 359 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 360 361 if (cnt++ >= delay_cnt[23]) 362 { 363 cnt = 0; 364 stage++; 365 } 366 break; 367 368 case 24: 369 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 370 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 371 372 if (cnt++ >= delay_cnt[24]) 373 { 374 cnt = 0; 375 stage++; 376 } 377 break; 378 379 case 25: 380 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 381 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 382 383 if (cnt++ >= delay_cnt[25]) 384 { 385 cnt = 0; 386 stage++; 387 } 388 break; 389 390 case 26: 391 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 392 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 393 394 if (cnt++ >= delay_cnt[26]) 395 { 396 cnt = 0; 397 stage++; 398 } 399 break; 400 401 case 27: 402 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 403 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 404 405 if (cnt++ >= delay_cnt[27]) 406 { 407 cnt = 0; 408 stage++; 409 } 410 break; 411 412 case 28: 413 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 414 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 415 416 if (cnt++ >= delay_cnt[28]) 417 { 418 cnt = 0; 419 stage++; 420 } 421 break; 422 423 case 29: 424 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 425 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 426 427 if (cnt++ >= delay_cnt[29]) 428 { 429 cnt = 0; 430 stage++; 431 } 432 break; 433 434 case 30: 435 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 436 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 437 438 if (cnt++ >= delay_cnt[30]) 439 { 440 cnt = 0; 441 stage++; 442 } 443 break; 444 445 case 31: 446 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 447 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 448 449 if (cnt++ >= delay_cnt[31]) 450 { 451 cnt = 0; 452 stage++; 453 } 454 break; 455 456 case 32: 457 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 458 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 459 460 if (cnt++ >= delay_cnt[32]) 461 { 462 cnt = 0; 463 stage++; 464 } 465 break; 466 467 case 33: 468 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 469 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 470 471 if (cnt++ >= delay_cnt[33]) 472 { 473 cnt = 0; 474 stage++; 475 } 476 break; 477 478 case 34: 479 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 480 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 481 482 if (cnt++ >= delay_cnt[34]) 483 { 484 cnt = 0; 485 stage++; 486 } 487 break; 488 489 case 35: 490 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 491 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 492 493 if (cnt++ >= delay_cnt[35]) 494 { 495 cnt = 0; 496 stage++; 497 } 498 break; 499 500 case 36: 501 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 502 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 503 504 if (cnt++ >= delay_cnt[36]) 505 { 506 cnt = 0; 507 stage++; 508 } 509 break; 510 511 case 37: 512 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 513 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 514 515 if (cnt++ >= delay_cnt[37]) 516 { 517 cnt = 0; 518 stage++; 519 } 520 break; 521 522 case 38: 523 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 524 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 525 526 if (cnt++ >= delay_cnt[38]) 527 { 528 cnt = 0; 529 stage++; 530 } 531 break; 532 533 case 39: 534 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 535 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 536 537 if (cnt++ >= delay_cnt[39]) 538 { 539 cnt = 0; 540 stage++; 541 } 542 break; 543 544 case 40: 545 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 546 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 547 548 if (cnt++ >= delay_cnt[40]) 549 { 550 cnt = 0; 551 stage++; 552 } 553 break; 554 555 case 41: 556 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 557 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_3V; 558 559 if (cnt++ >= delay_cnt[41]) 560 { 561 cnt = 0; 562 stage++; 563 } 564 break;*/ 565 566 case 2: 567 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_A_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 568 *(__IO uint32_t *)((uint32_t)DAC_HANDLE.Instance + DAC_CH_B_ALIGNMENT(DAC_ALIGN_12B_R)) = DAC_0V; 569 570 if (cnt++ >= delay_cnt[3]) 571 { 572 cnt = 0; 573 stage = 0; 125 stage = 5; 574 126 575 if (mal++ >= 1600 - 1) // approx 95ms127 if (mal++ >= 5/*1600*/) // approx 95ms 576 128 { 577 129 mal = 0; 130 stage = 0; 578 131 HAL_NVIC_DisableIRQ(ADC_DMA_IRQ); 579 132 if (NULL != ReturnFunctionPtr) MOSFETS_Management = ReturnFunctionPtr;
Note:
See TracChangeset
for help on using the changeset viewer.
