[STC单片机] AD采集的数据放大1000倍后显示出错

[复制链接]
1113|3
 楼主| 向上的小树 发表于 2015-12-15 20:58 | 显示全部楼层 |阅读模式
        value = ADC_RES;
        value2 = value * 1000 / 256 * 5 ;
上面是出错的代码,我是想把采集数据放大1000倍,然后用数码管来显示,然而发现测量的电压值总是不对,还以为是AD采集出问题了,后来发现是数据这样处理后出错了。后来我改了下
        value = ADC_RES;
        value2 = value * (1000 * 5 / 256) ;
这样就正确了,就好像是value不能乘以一个比较大的数,不然就全部错了,哪位能解释下这是什么原因吗?
bishopcool2 发表于 2015-12-15 21:25 | 显示全部楼层
乘了大的数之后就溢出了吧?
 楼主| 向上的小树 发表于 2015-12-18 17:36 | 显示全部楼层
应该是的
Kowalski 发表于 2015-12-18 20:54 | 显示全部楼层
value定义成了什么数据类型呢?char和int都是会出错的,编译器不会报错,但是程序执行的结果肯定不是你想要的。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

10

帖子

0

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