ewindiy 发表于 2016-2-1 14:42:11

关于STM32的浮点除法运算偶尔出错

本帖最后由 ewindiy 于 2016-2-1 14:47 编辑

最近做了个以太网步进电机控制器,一切都那么顺利的时候,测试中发现一个让我十分苦恼的问题
做除法的时候大部分结果是对的,偶尔出现结果为0,虽然使用整数除法越过这个问题,但是始终不明白怎么回事如图,查询中有个别结果有问题,就做了个除法,结果让我不解




netlhx 发表于 2016-2-1 17:50:09

单从这里看不出什么,建议用DEBUG单步,检查数组里的值和输出值对应关系

潇潇雨歇pku 发表于 2016-2-2 11:02:56

netlhx 发表于 2016-2-1 17:50
单从这里看不出什么,建议用DEBUG单步,检查数组里的值和输出值对应关系

估计楼主也就偶尔出现这样的情况,单步可能一天都碰不上……

发表于 2016-2-2 11:05:48

把相关的几个数据都输出一下。

_风中的少年 发表于 2017-7-30 09:56:45

本帖最后由 _风中的少年 于 2017-7-30 10:12 编辑

同出现除法错误!
                        dc_double=(double)adcSum/10000.0;
我这里dc_double 是双精度的,adcSum是uint32_t类型的,值大概为2000000.结果算出来用串口调试得到dc_double为0

找到原因了,adcSum不知道怎么被置0了。。。好迷啊。。
估计楼主的问题也应该是程序其他地方不对吧?

ewindiy 发表于 2018-3-14 15:37:49

_风中的少年 发表于 2017-7-30 09:56
同出现除法错误!
                        dc_double=(double)adcSum/10000.0;
我这里dc_double 是双精度 ...

应该不是,我把这个分解成整形换算就好了
页: [1]
查看完整版本: 关于STM32的浮点除法运算偶尔出错