你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32L496 ADC 过采样

[复制链接]
cpt121 提问时间:2019-11-14 14:26 /
官方L496 过采样的例程中计算电压的公式    uwInputVoltage = uwConvertedValue * 3300;  uwInputVoltage = uwInputVoltage / 0xFFF0; 计算电压的时候为什么不是除以4096而是除以0xFFF0.  这个FFF0有什么特殊含义吗?
收藏 评论9 发布时间:2019-11-14 14:26

举报

9个回答
294479435@qq.co 回答时间:2019-11-15 09:34:37
你把原文截图出来看看
网络孤客 回答时间:2019-11-15 13:05:35
原程序连续采样多少次?是否是0xFFF0次?
haocheng996 回答时间:2019-11-15 17:08:48
过采样的原理就是连续多次采样然后把值进行累加,从而达到超过本来12位ADC的分辨率,这时候再求平均值的时候就不是除以4096了
cpt121 回答时间:2019-11-19 13:47:38
00-405686 发表于 2019-11-15 09:34
你把原文截图出来看看

您好,下边是官方例程中的代码。
    if (HAL_ADC_PollForConversion(&AdcHandle, 10) != HAL_OK)
    {
      Error_Handler();
    }
   
    /* Read the converted value */
    uwConvertedValue = HAL_ADC_GetValue(&AdcHandle);

    /* Convert the result from 16 bit value to the voltage dimension (mV unit) */
    /* Vref = 3.3 V */
    uwInputVoltage = uwConvertedValue * 3300;  
    uwInputVoltage = uwInputVoltage / 0xFFF0;
cpt121 回答时间:2019-11-19 13:47:56
ldptest 发表于 2019-11-15 13:05
原程序连续采样多少次?是否是0xFFF0次?

没有,只采样1次
cpt121 回答时间:2019-11-19 13:49:43
haocheng996 发表于 2019-11-15 17:08
过采样的原理就是连续多次采样然后把值进行累加,从而达到超过本来12位ADC的分辨率,这时候再求平均值的时 ...

您好,请问如何计算出的0xFFF0这个数值呢?
294479435@qq.co 回答时间:2019-11-19 15:37:37
/* Convert the result from 16 bit value to the voltage dimension (mV unit) */
    /* Vref = 3.3 V */
    uwInputVoltage = uwConvertedValue * 3300;  
    uwInputVoltage = uwInputVoltage / 0xFFF0;

代码注释中有提到,过采样相当于结果已经是16bit了,所以不是除以4095

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

haocheng996 回答时间:2019-11-20 09:21:38
软件上采样了一次,但硬件上已经采样多次了,为什么是0xFFF0这个数值,可以看看参考手册中对ADC硬件过采样的说明

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

butterflyspring 回答时间:2019-11-22 15:29:20
手册中说到了累加之后的值需要除以16,相当于右移4位。也就是除以4095*16得到16位精度的结果

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版