OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7206|回复: 5

24位ADC转换结果怎么处理?求C语言大神

[复制链接]

32

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2013-10-25
在线时间
3 小时
发表于 2014-5-6 16:43:16 | 显示全部楼层 |阅读模式
5金钱
我一个24位的AD转换器,转换的20个值要求一个平均值。但是转换到的值如下表


后面的code好像是24位的int,如果是32位的话就好了,24位的怎么处理才最简单啊

最佳答案

查看完整内容[请看2#楼]

“如果是32位的话就好了” 左移8位就是32位的了,只不过比原来数值大了256倍 【就是相当于32位,只不过采样值的最后几位当成0】 一般处理起来,尽量不用浮点数。 如果想转成电压值,可转成 mV单位的 ,这样就可以用整形计算 STM32内部有32b  的乘法器
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2014-5-6 16:43:17 | 显示全部楼层
“如果是32位的话就好了”
左移8位就是32位的了,只不过比原来数值大了256倍
【就是相当于32位,只不过采样值的最后几位当成0】

一般处理起来,尽量不用浮点数。 如果想转成电压值,可转成 mV单位的 ,这样就可以用整形计算
STM32内部有32b  的乘法器
回复

使用道具 举报

14

主题

168

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
497
金钱
497
注册时间
2013-4-1
在线时间
25 小时
发表于 2014-5-6 19:15:37 | 显示全部楼层
这与AD转换得到的数字量是多少位有什么关系???
回复

使用道具 举报

32

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2013-10-25
在线时间
3 小时
 楼主| 发表于 2014-5-7 08:57:21 | 显示全部楼层
回复【2楼】308709362:
---------------------------------
VREF*CODE/(2^23-1), CODE是有符号数,我昨天算了一下,24位转成32位左移2位 强制转换成float,然后除以256就是CODE的浮点型了。或者先除256在变成float也行。但是都没有办法避免引入浮点运算。不是道STM32浮点运算快不快
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2014-5-7 17:29:35 | 显示全部楼层
你是想判断正负吧??

一个方法 是判断 最高位,算补码
另一个方法,long v 左移8位 就知道正负了。
回复

使用道具 举报

32

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2013-10-25
在线时间
3 小时
 楼主| 发表于 2014-5-7 20:48:20 | 显示全部楼层
回复【4楼】aleda303:
---------------------------------
不但要正负,还要这个24位数的值,24位就是麻烦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-7 22:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表