[PIC®/AVR®/dsPIC®产品] 单片机ADC采样,数据处理

[复制链接]
1744|8
 楼主| y18370990546 发表于 2018-5-12 10:40 来自手机 | 显示全部楼层 |阅读模式
单片机采样参考电压5V,转换值value是0-5v的一个数。
我需要的变量1=value×196.8;
              变量2=value×196.8×27
那么我该怎么取出变量1,变量2中各个数?

希望数能精确到小数点后两位
北极风 发表于 2018-5-12 14:57 | 显示全部楼层
可以转成浮点数,或者采用long型变量,把乘数先*100,变成整数,显示时显示正确小数点位置就行了。
 楼主| y18370990546 发表于 2018-5-12 16:10 来自手机 | 显示全部楼层
北极风 发表于 2018-5-12 14:57
可以转成浮点数,或者采用long型变量,把乘数先*100,变成整数,显示时显示正确小数点位置就行了。 ...

我直接用变量1设为浮点型数据,即变量2=value
196.8×27出现了(超出范围)的结果,这是为何?
ningling_21 发表于 2018-5-15 16:44 | 显示全部楼层
y18370990546 发表于 2018-5-12 16:10
我直接用变量1设为浮点型数据,即变量2=value
196.8×27出现了(超出范围)的结果,这是为何? ...

是数据溢出,你的数据类型是啥

必须考虑计算的最大数是否超出变量的最大值
yy005566 发表于 2018-5-15 18:17 来自手机 | 显示全部楼层
ningling_21 发表于 2018-5-15 16:44
是数据溢出,你的数据类型是啥

必须考虑计算的最大数是否超出变量的最大值 ...

unsigned int,应该不会溢出
ningling_21 发表于 2018-5-15 18:40 | 显示全部楼层
yy005566 发表于 2018-5-15 18:17
unsigned int,应该不会溢出

value 的最大值多少?
yy005566 发表于 2018-5-16 20:29 来自手机 | 显示全部楼层
ningling_21 发表于 2018-5-15 18:40
value 的最大值多少?

参考电压5v
zubingming 发表于 2018-5-16 21:03 | 显示全部楼层
value是ADC转换后的值? ADC是多少位的?
lihui567 发表于 2018-5-17 21:15 | 显示全部楼层
你可以把变量2乘一下,早都超过65535好多了,明显数据溢出了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

112

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部