在使用STM32的ADC进行检测电压时必须回涉及到电压值的计算,为了更高效率的获取电压,现在有以下三种方法: 你得到的结果是你当前AD引脚上的电压值相对于3.3V和4096转换成的数字.
假如你得到的AD结果是ADC_DR这个变量,他们存在以下关系:
ADC_DR/当前电压值 = 4096/3300毫伏如果你反过程想得到当前电压值,可以如下计算:
unsigned long Voltage;
Voltage = ADC_DR;
//---假设你得到的AD结果存放到ADC_DR这个变量中;
Voltage = (Voltage * 3300)/4096; //----你就得到了正确的电压结果,单位是mV
一般出于效率,我会们自己进行约分:
Voltage = (Voltage * 825)/1024; //----你就得到了正确的电压结果,单位是mV
而再进一步,效率会更高:
Voltage = (Voltage * 825)>>10; //----你就得到了正确的电压结果,单位是mV
|