打印
[STM32F1]

一个带除法公式的疑惑

[复制链接]
834|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电子过客|  楼主 | 2016-9-10 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int16_t   Wind1_post;  //当前位置
volatile uint16_t  Wind1_allrun;         //全程运行时间
volatile uint16_t  Wind1_diffpost_RUN;   //已经运行时间
uint16_t   Wind1_oldpost;  //原来的位置
Wind1_post=Wind1_oldpost+Wind1_diffpost_RUN/Wind1_allrun*100;
这是计算当前位置的公式:有哪里不对啊

仿真时候出现Wind1_post 不能实时赋值,
只有到最后时候Wind1_post=Wind1_oldpost  好像Wind1_diffpost_RUN/Wind1_allrun*100; 这个表示是不对


还有
就看到Wind1_diffpost_RUN 变量不断的变化
Wind1_post变量 一定都没有 跟着Wind1_diffpost_RUN变化, 始终等于 oldpost   
各位哪里出现问题了啊
沙发
mmuuss586| | 2016-9-10 13:16 | 只看该作者
全都定义成浮点数试下;

使用特权

评论回复
板凳
duanks| | 2016-9-10 13:25 | 只看该作者
先乘再除,变量改为uint32_t

使用特权

评论回复
地板
电子过客|  楼主 | 2016-9-10 13:47 | 只看该作者
duanks 发表于 2016-9-10 13:25
先乘再除,变量改为uint32_t

谢谢

使用特权

评论回复
5
lgq1542380129| | 2016-9-11 09:06 | 只看该作者
楼主定义的都是整型,按楼主的写法,问题就来了整数除以整数依然是整数,如果除数和被除数的商在0-1之间,就会被保存为0了。

使用特权

评论回复
6
Bjorn| | 2016-9-11 20:56 | 只看该作者
变量类型改下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

205

帖子

2

粉丝