#include "adcs.h" uint32_t ADC_ConvertedValue[50] = {0};//ADCÊý¾Ý uint32_t adc_sum = 0,ao_adc_data = 0; int adc_cnt = 0; void adcs_init(void) { //HAL_ADC_Start_DMA(&hadc1, (uint32_t *)ADC_ConvertedValue, 5); //HAL_ADC_Start(&hadc1); } void adcs_data(void) { // for(int i = 0;i < 5;i++) // { // adc_sum += ADC_ConvertedValue[i]; // } HAL_ADC_Start(&hadc1); ADC_ConvertedValue[adc_cnt] = HAL_ADC_GetValue(&hadc1); adc_cnt++; if(adc_cnt > 49) { adc_cnt = 0; for(int i = 0;i < 50;i++) { adc_sum += ADC_ConvertedValue[i]; } ao_adc_data = adc_sum / 50; adc_sum = 0; } InputReg[12] = (uint16_t)(((float)(ao_adc_data) * 3300 / 4095.0f) / 0.082f); InputReg[12] = InputReg[12] * 1.0004f - 19.5f; //adc_sum = 0; }