打印
[STC单片机]

AD采集的数据放大1000倍后显示出错

[复制链接]
971|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

粉丝