STM32F0 ADC 内部参考电压使用问题 ,VREFINT_DATA不明白怎么读出来

2019-07-21 01:07发布

未命名1558079660.png

按照这个公式 计算,需要知道 值VREFINT_DATA ,VREFINT_CAL。


其中 VREFINT_CAL,是校准因子,ADC校准后 读寄存器DR 可直接得到。于是我这样读:
        HAL_ADCEx_Calibration_Start(&hadc);
        VREFINT_CAL= HAL_ADC_GetValue(&hadc) ;

       读到该值为0x44 换算十进制 为68。
未命名1558080108.png
最后求 VREFINT_DATA值。数据手册上这样写道:
VREFINT_DATA is the actual VREFINT output value converted by the ADC  
VREFINT_DATA 则为ADC CH17采集到的AD值
所以我这样读
未命名1558080810.png
读到值 ox5FA  十进制为 1530。
然后我去编译运行程序 发现结果很明显不对。
未命名1558079972.png
所以 VREFINT_DATA 这个值 我读的不对 。 我就想知道 VREFINT_DATA 这个值到底怎么读 ?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
正点原子
1楼-- · 2019-07-21 07:02
帮顶
www88988
2楼-- · 2019-07-21 10:51
 精彩回答 2  元偷偷看……
warship
3楼-- · 2019-07-21 15:16
VREFINT_DATA是内部参考电压的ADC转换值,
通过读取VREFINT(内部参考电压通道ch17)可以得到。
如果对AD采样精度要求高,可以将ch17纳入采样序列,
每次采样时将ch17一并采集,用于AD值补偿计算。
Black
4楼-- · 2019-07-21 18:01
warship 发表于 2019-5-18 13:55
VREFINT_DATA是内部参考电压的ADC转换值,
通过读取VREFINT(内部参考电压通道ch17)可以得到。
如果对AD ...

那读ch17 怎么写
Black
5楼-- · 2019-07-21 18:56
www88988 发表于 2019-5-18 12:30
VREFINT_CAL 值应该是读错了,这是个16位的数 ,F030系列在地址:0x1FFF F7BA - 0x1FFF F7BB 。
(3.3xVREF ...

这个我也觉得可能错了,但是记得看到帖子上,也这样说过 读地址,只我是F070,数据手册上没有提地址,但是说了校准后直接读DR bit[6:0]寄存器为 校准因子
Black
6楼-- · 2019-07-21 21:23
 精彩回答 2  元偷偷看……

一周热门 更多>