参考 https://www.cnblogs.com/zjx123/p/11990955.html
由于HAL库的更新做如下修改
时间校准 HAL_ADCEx_Calibration_Start(&hadc,ADC_SINGLE_ENDED);
应用程序使用:
volatile uint32_t ADC_ValBuf[2]={0};
HAL_ADCEx_Calibration_Start(&hadc,ADC_SINGLE_ENDED);
while (1)
{
HAL_ADC_Start_DMA(&hadc,(uint32_t*)&ADC_ValBuf,2); //两个通道 传输两次。 传输完后需要再次调用
float value;
value = (float)ADC_ValBuf[0]/4096*3.3;
printf(" value[0] =%f\r\n",value);
value = (float)ADC_ValBuf[1]/4096*3.3;
printf(" value[1] =%f\r\n",value);
HAL_Delay(1000);
}