注册 登录
查看: 257|回复: 2

[平衡组] 关于数值传递的奇怪问题,求高手指点!!!

[复制链接]
发表于 2014-6-12 19:23:57 | 显示全部楼层 |阅读模式
进行方向控制实验时发现个奇怪的问题,就是两个正确的数值相乘得到的是一个奇怪的错误结果!用到的数值是:
DirectionControlOutNew(方向控制输出)、Offset(拟合中线和参考中线的偏差)、DIRECTION_P(方向控制比例参数)。
通过串口助手中的数据知道,当单独输出时Offset和DIRECTION_P的值都是正确的,如下图:

而当
DirectionControlOutNew=Offset*DIRECTION_P时得出的数据确实错误的(当Offset为负数的时候),如图:

这是什么原理?值得一提的是,速度控制我也是这样乘的,都没有出现像这样的错误,为什么偏偏在方向控制出现了这奇怪的问题?求高手指点!!!非常感谢!!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2014-6-12 19:27:29 | 显示全部楼层
后来我用了个中间值val2,让val2=DIRECTION_P;然后再让DirectionControlOutNew=Offset * val2;结果并没有出现什么问题,这又是什么原理????感觉好奇怪啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-12 20:07:33 | 显示全部楼层
我知道问题出现在哪了,数据类型不一样。DIRECTION_P是uint32类型的,所以会出问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部