工具/软件:Code Composer Studio
您好!
我正在使用连接到 Launchpad 板的 mpu6050传感器。
读数噪声很大-因此、为了改善结果、我希望编写一个函数、该函数执行以下操作:
1.读取读数
2.累积(将新读数与所有历史读数之和相加)。
3.将累加总和除以读数的数量。
这就是我写的内容:
void sample_accumulation_average (int number_for_samples、float *加速计_aver[3]、float * gyro_aver[3])//函数作为指向3个元素
的数组的参数指针{
浮点加速计读数[3]、gyro_reading[3];
int sample 计数器;
int axy_number;
tMPU6050 g_sMPU6050Inst;// MPU6050传感器驱动程序结构。 "tMPU6050"在 mpu6050.h 文件中定义。
对于(SAMPLE_COUNTER = 0;SAMPLE_COUNTER < NUMBER_OL_SAMPples;SAMPLE_COUNTER ++)
{
MPU6050DataRead (&g_sMPU6050Inst、USER_MPU6050Callback、0);
while (!g_bMPU6050Done){}
MPU6050DataAccelGetFloat (&g_sMPU6050Inst、&accorum_reading[0]、&accorm_reading[1]、&accorm_reading[2]);
MPU6050DataGyroGetFloat (&G) sMPU6050Inst、&gyro_reading[0]、&gyro_reading[1]、&gyro_reading[2]);
对于(AXIC_NUMBER = 0;AXIC_NUMBER < 3;AXIC_NUMBER ++)
{
*加速计平均值[ AXIS 编号]=*加速计平均值[ AXIS 编号]+加速计读数[ AXIS 编号];//累加加速计读数
*gyro_average [ axy_number ]=*加速计_average [ axis _number ]+加速计读取[ axis _number ];//累加陀螺仪读数
}
}
对于(AXIC_NUMBER = 0;AXIC_NUMBER < 3;AXIC_NUMBER ++)
{
*加速计平均值[ AXIS 编号]=*加速计平均值[ AXIS 编号]/ NUMBER_OW_SAples;
*gyro_average [ axis _number ]=*gyro_average [ axis _number ]/ number_for_samples;
}
}
这就是我在代码中调用函数的方式
SAMPLE_accumulation_average (64,&fAccel,&fGyro);
我收到以下警告:
说明资源路径位置类型
"float (*)[3]"类型的#169-D 参数与"float **"类型的参数 main.c /PID 行186 C/C++问题不兼容
我犯了什么错误?