挪用了复位校准函数ADC_ResetCalibration()以及末了校准函数ADC_StartCalibration(),必需查验标志位期待校准实现,确保实现后才末了ADC转换.(建议是每一次上电后都校准一次咯)ADC_SoftwareStartConvCmd(ADC1,ENABLE);配置配备枚举ADC1的方式为软件触发方式.挪用这个函数之后,ADC就末了举行转换了,每一次转换实现后,由DMA抑制器把转换从ADC数据寄存器(ADC_DR)中转移到变量ADC_ConvertedValue中,当DMA传输实现后,在main函数中使用ADC_ConvertedValue的内容便是ADC的转换值了.盘算电压值:在main函数中,ADC_ConvertedValueLoca是一个float尺度变量,它留存了有转换值盘算进去的电压值,盘算的公式是ADC通用的实际电压=ADC转换值*LSBLSB为Vref+接的参考电压/ADC的精度(LSB=3.3/2的12次方)PS:这外面ADC_ConvertedValue是用volatile润色的,用volatile申明的尺度变量展现能够被某些编译器未知的因素变更,譬如:操作体系、硬件大概另内线程等。
由于ADC_ConvertedValue这个变量值随时都是会被DMA抑制器窜改的,所以用volatile来润色它,确保每一次读取到的都是实时的ADC转
1