单片机/MCUwilliam hill官网
直播中

冯冯

6年用户 78经验值
私信 关注
[问答]

单片机计算结果不对

这个函数,我放入VC++6.0软件,输出的值是和我计算的一样。
但是放入单片机,输出的值就不对了,,单片机是c8051F350
  • QQ图片20190905114416.png

回帖(7)

唐浩

2019-9-5 16:20:08
是不是类型的位数不一样呀
举报

唐浩

2019-9-5 16:20:35
是不是类型的位数不一样呀
1 举报
  • 冯冯: 对的吧,中间计算都没超过32位的时候

阿信509

2019-9-5 19:37:40
你试试是不是小点的值是对的,然后超过一个数值后就不对了呢?
1 举报
  • 冯冯: 试了下,无论什么数值,我数码管都显示111

冯冯

2019-9-6 08:50:18
大哥们,卡了两天了,好像无论怎么,我数码管都显示111,数码管显示函数是对的,我直接给返回值都可以正常显示的。问题就出在这个函数
2 举报
  • 阿信509: 这个函数返回的是111吗?你能确定下吗
  • 冯冯 回复 阿信509: 我数码管只有3位,无论怎么都显示111,,自己给图片函数的返回值就正常的(正常应该是0-110),,具体数值串口有点问题,还没调通

alonggege

2019-9-6 15:18:23
不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢
举报

人中狼

2019-9-7 10:47:24
应该贴一下两个方法计算的结果的对比,比如输入同一个数值,VC计算的结果和单片机计算的结果各是什么,另外只有三位数码管是不是少了点,确定最后的计算结果不会超出显示范围吗
举报

张三

2019-9-11 11:02:12
把INT32U定义发一下,一般单片机C语言中Int是16位,VC中是32位,所以正常情况下单片机要进行32位计算需要用高低位分别来本开处理
举报

更多回帖

发帖
×
20
完善资料,
赚取积分