天天看點

AD采樣求平均STM32實作

1 iADC_read(0, &u16NTC_1_Sample_Val_ARR[10]);      2       3     if(0 == ui8FirstSampleFlag)      4     {      5         for(i=0; i<10; i++)      6         {      7             u16NTC_1_Sample_Val_ARR[i] = u16NTC_1_Sample_Val_ARR[10];      8         }      9         ui8FirstSampleFlag = 1;     10     }     11          12     u16NTC_1_Sample_Val_ARR[10] = (uint16_t)     13 ((0.1f) * ((float)(u16NTC_1_Sample_Val_ARR[0] + u16NTC_1_Sample_Val_ARR[1]     14                 + u16NTC_1_Sample_Val_ARR[2] + u16NTC_1_Sample_Val_ARR[3]     15                 + u16NTC_1_Sample_Val_ARR[4] + u16NTC_1_Sample_Val_ARR[5]     16                 + u16NTC_1_Sample_Val_ARR[6] + u16NTC_1_Sample_Val_ARR[7]     17                 + u16NTC_1_Sample_Val_ARR[8] + u16NTC_1_Sample_Val_ARR[9])));     18      19          20     for(i=1; i<=10; i++)     21     {     22         u16NTC_1_Sample_Val_ARR[i-1] = u16NTC_1_Sample_Val_ARR[i];     23     }      
1 uint8_t iADC_read( uint8_t ucAdcChn, uint16_t *u16AdcData)     2 {     3     *u16AdcData = (uint16_t)ADC_ConvertedValue[ucAdcChn] ;     4     return (1);     5 }      
1 __IO uint16_t ADC_ConvertedValue[ADC_DMA_BUFFER_SIZE]= {0};