STM32F7 - DAC - przebieg ze wzoru

Język C dla mikrokontrolerów ARM
ODPOWIEDZ
ps19
Użytkownik
Posty: 13
Rejestracja: 16 paź 2017, 21:42
Lokalizacja: Opole

STM32F7 - DAC - przebieg ze wzoru

Post autor: ps19 » 24 mar 2019, 14:21

Witajcie,

Uruchomiłem przetwornik DAC w STM32F7 (Nucleo) i działa bez zarzutów o ile podam mu gotową tablicę z wartościami generuje przebieg jaki potrzebuję.

Jednak przy próbie wygenerowania tablicy przy starcie programu zamiast sinusoidy dostaję jakieś krzaki :shock:
  1. void GenerateSinusoidalSeries(uint16_t samples)
  2. {
  3.     for (int x = 0; x< samples; x++)
  4.     {
  5.         buffer[x] = sinf(((2 * M_PI*x)/samples))+1;
  6.         buffer[x] = buffer[x]*(4096/2);
  7.         //buffer[x] = round(buffer[x]);
  8.     }
  9.  
  10. }
  11.     GenerateSinusoidalSeries(540);
  12.  
  13.     DMA1_Stream5-> CR = 0;
  14.     DMA1_Stream5-> PAR = (uint32_t)&DAC->DHR12R1;
  15.     DMA1_Stream5-> M0AR = (uint32_t)buffer;
  16.     DMA1_Stream5-> NDTR = 540;
  17.     DMA1_Stream5-> CR = DMA_SxCR_CHSEL | DMA_SxCR_MSIZE_1 | DMA_SxCR_PSIZE_1 | DMA_SxCR_MINC |
  18.             DMA_SxCR_CIRC | DMA_SxCR_DIR_0 | DMA_SxCR_EN;
Z takiej tablicy wygenerowanej ręcznie wszystko działa :/
  1. uint32_t dma_ch1_data[540] = {
  2.                               2048,2071,2095,2119,2143,2167,2191,2214,
  3.                               2238,2262,2286,2309,2333,2357,2380,2404,
  4.                               2427,2451,2474,2497,2521,2544,2567,2590,
  5.                               2613,2636,2659,2681,2704,2727,2749,2771,
  6.                               2794,2816,2838,2860,2882,2903,2925,2947,
  7.                               2968,2989,3010,3031,3052,3073,3094,3114,
  8.                               3134,3154,3174,3194,3214,3234,3253,3272,
  9.                               3291,3310,3329,3347,3366,3384,3402,3420,
  10.                               3437,3455,3472,3489,3506,3522,3539,3555,
  11.                               3571,3587,3603,3618,3633,3648,3663,3678,
  12.                               3692,3706,3720,3734,3747,3760,3773,3786,
  13.                               3798,3811,3823,3834,3846,3857,3868,3879,
  14.                               3890,3900,3910,3920,3929,3939,3948,3956,
  15.                               3965,3973,3981,3989,3996,4003,4010,4017,
  16.                               4023,4030,4035,4041,4046,4051,4056,4061,
  17.                               4065,4069,4072,4076,4079,4082,4084,4087,
  18.                               4089,4090,4092,4093,4094,4095,4095,4095,
  19.                               4095,4094,4094,4092,4091,4090,4088,4086,
  20.                               4083,4080,4077,4074,4071,4067,4063,4058,
  21.                               4054,4049,4044,4038,4033,4027,4020,4014,
  22.                               4007,4000,3993,3985,3977,3969,3961,3952,
  23.                               3943,3934,3925,3915,3905,3895,3884,3874,
  24.                               3863,3852,3840,3829,3817,3805,3792,3780,
  25.                               3767,3754,3740,3727,3713,3699,3685,3670,
  26.                               3656,3641,3626,3610,3595,3579,3563,3547,
  27.                               3531,3514,3497,3480,3463,3446,3428,3411,
  28.                               3393,3375,3356,3338,3319,3301,3282,3263,
  29.                               3243,3224,3204,3184,3164,3144,3124,3104,
  30.                               3083,3063,3042,3021,3000,2979,2957,2936,
  31.                               2914,2893,2871,2849,2827,2805,2783,2760,
  32.                               2738,2715,2693,2670,2647,2624,2601,2578,
  33.                               2555,2532,2509,2486,2462,2439,2415,2392,
  34.                               2368,2345,2321,2297,2274,2250,2226,2202,
  35.                               2179,2155,2131,2107,2083,2059,2036,2012,
  36.                               1988,1964,1940,1916,1893,1869,1845,1821,
  37.                               1798,1774,1750,1727,1703,1680,1656,1633,
  38.                               1609,1586,1563,1540,1517,1494,1471,1448,
  39.                               1425,1402,1380,1357,1335,1312,1290,1268,
  40.                               1246,1224,1202,1181,1159,1138,1116,1095,
  41.                               1074,1053,1032,1012,991,971,951,931,
  42.                               911,891,871,852,832,813,794,776,
  43.                               757,739,720,702,684,667,649,632,
  44.                               615,598,581,564,548,532,516,500,
  45.                               485,469,454,439,425,410,396,382,
  46.                               368,355,341,328,315,303,290,278,
  47.                               266,255,243,232,221,211,200,190,
  48.                               180,170,161,152,143,134,126,118,
  49.                               110,102,95,88,81,75,68,62,
  50.                               57,51,46,41,37,32,28,24,
  51.                               21,18,15,12,9,7,5,4,
  52.                               3,1,1,0,0,0,0,1,
  53.                               2,3,5,6,8,11,13,16,
  54.                               19,23,26,30,34,39,44,49,
  55.                               54,60,65,72,78,85,92,99,
  56.                               106,114,122,130,139,147,156,166,
  57.                               175,185,195,205,216,227,238,249,
  58.                               261,272,284,297,309,322,335,348,
  59.                               361,375,389,403,417,432,447,462,
  60.                               477,492,508,524,540,556,573,589,
  61.                               606,623,640,658,675,693,711,729,
  62.                               748,766,785,804,823,842,861,881,
  63.                               901,921,941,961,981,1001,1022,1043,
  64.                               1064,1085,1106,1127,1148,1170,1192,1213,
  65.                               1235,1257,1279,1301,1324,1346,1368,1391,
  66.                               1414,1436,1459,1482,1505,1528,1551,1574,
  67.                               1598,1621,1644,1668,1691,1715,1738,1762,
  68.                               1786,1809,1833,1857,1881,1904,1928,1952,
  69.                               1976,2000,2024,2048
  70. };

ODPOWIEDZ