首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除法运算始终产生0

除法运算始终产生0
EN

Stack Overflow用户
提问于 2017-08-30 22:10:13
回答 1查看 49关注 0票数 0

我正在使用IMU计算角度,如你所知,这涉及到很多数学问题。为了在任何时刻获得角度,应用了每次读数的时间戳,用于确定我在等式中使用的刷新率/更新率。

这个想法是为了得到一个值,我可以使用它作为相对于整秒(1000毫秒)的速率,我做-:1/(1000/ TimeStamp差)/陀螺标度值,当手动完成时会产生一个非常小的小数,用C++做这件事每次都会产生0,这是令人困惑的,因为它的确切顺序我应该做它。

提前感谢;

开尔文

代码语言:javascript
复制
#include "stdafx.h"

typedef struct {
    double Accel_X;                      /*!< Accelarometer value X axis */
    double Accel_Y;                      /*!< Accelarometer value Y axis */
    double Accel_Z;                      /*!< Accelarometer value Z axis */

    double Gyroscope_X;              /*!< Gyroscope value X axis */
    double Gyroscope_Y;              /*!< Gyroscope value Y axis */
    double Gyroscope_Z;              /*!< Gyroscope value Z axis */

    __int16 Temperature;         /*!< Temperature in degrees */
    __int32 TimeStamp;               /*!< Time in Ms when measurement was taken */

    bool isPopulated;    /*!< Indicates if the current instance has been populated */
} MPU6050_Raw_Result_Calib;

MPU6050_Raw_Result_Calib LatestResultRaw_Calib[2];

float xAngle;
double gyroScale = 65.5;

double calc()
{
    double actualRate;

    if (!LatestResultRaw_Calib[0].isPopulated && !LatestResultRaw_Calib[1].isPopulated)
        return 0;

    __int16 refreshRate = LatestResultRaw_Calib[0].TimeStamp - LatestResultRaw_Calib[1].TimeStamp;

    actualRate = 1 / (1000 / refreshRate) / gyroScale;

    xAngle += LatestResultRaw_Calib[0].Gyroscope_X * actualRate;

    return xAngle;
}

int main()
{
    LatestResultRaw_Calib[0].Gyroscope_X = 1;
    LatestResultRaw_Calib[0].isPopulated = true;
    LatestResultRaw_Calib[0].TimeStamp = 1565;

    LatestResultRaw_Calib[1].Gyroscope_X = 15;
    LatestResultRaw_Calib[1].isPopulated = true;
    LatestResultRaw_Calib[1].TimeStamp = 1500;

    while (1)
    {
        printf("%f ", calc());
    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-08-30 22:12:23

在你的方程式和定义中,使用双格式ie。1.0、1565.0等等

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45962733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档