按照这个公式 计算,需要知道 值VREFINT_DATA ,VREFINT_CAL。
其中 VREFINT_CAL,是校准因子,ADC校准后 读寄存器DR 可直接得到。于是我这样读:
HAL_ADCEx_Calibration_Start(&hadc);
VREFINT_CAL= HAL_ADC_GetValue(&hadc) ;
读到该值为0x44 换算十进制 为68。
最后求 VREFINT_DATA值。数据手册上这样写道:
VREFINT_DATA is the actual VREFINT output value converted by the ADC
VREFINT_DATA 则为ADC CH17采集到的AD值
所以我这样读
读到值 ox5FA 十进制为 1530。
然后我去编译运行程序 发现结果很明显不对。
所以
,VREFINT_DATA 这个值 我读的不对 。 我就想知道
VREFINT_DATA 这个值到底怎么读 ?
通过读取VREFINT(内部参考电压通道ch17)可以得到。
如果对AD采样精度要求高,可以将ch17纳入采样序列,
每次采样时将ch17一并采集,用于AD值补偿计算。
一周热门 更多>