资源简介
基于mpu9250的磁力计算法,纯c语言,可移植多个平台,属于独立校准源代码,里面有旭泰的demo模板,校准数据可以是三维或者刘伟数据,当然,维度越高校准的数据的准确率越高。
代码片段和文件信息
/*************************************************************************
* > File Name: main.c
* > Company: ZhuHai ICAN Technology
* > Author: D.DUKE
* > Phone-Call: +86 13249008893
* > Mail: dcj_ican@163.com
* > Created Date: 2017年11月07日 星期二 03时34分09秒
*************************************************************************/
#include
#include
#include
#include “matrix.h“
#define row 48
#define col 6
//打印2维矩阵
void printf_matrix(struct _Matrix *A)
{
int i = 0;
int j = 0;
int m = 0;
int n = 0;
m = A->m;
n = A->n;
for (i = 0;i < m;i++)
{
for (j = 0;j < n;j++)
{
printf(“%f\t“matrix_read(Aij));
}
printf(“\n“);
}
}
void printf_matrix_o(struct _Matrix *A)
{
int i = 0;
int j = 0;
int m = 0;
int n = 0;
float a1 = 0.0fa2 = 0.0fa3 = 0.0fa4 = 0.0fa5 = 0.0fa6 = 0.0fc1c2c3c4c5c6;
m = A->m;
n = A->n;
for (i = 0;i < m;i++)
{
for (j = 0;j < n;j++)
{
printf(“%f\t“matrix_read(Aij));
if(i==0)
{
a1=sqrt(matrix_read(Aij));
}
if(i==1)
{
a3=sqrt(matrix_read(Aij));
}
if(i==2)
{
a5=sqrt(matrix_read(Aij));
}
if(i==3)
{
a2=matrix_read(Aij)/(2*a1);
}
if(i==4)
{
a4=matrix_read(Aij)/(2*a3);
}
if(i==5)
{
a6=matrix_read(Aij)/(2*a5);
}
}
printf(“\n“);
}
printf(“a1:%f a2:%f a3:%f a4:%f a5:%f a6:%f \n“a1a2a3a4a5a6);
}
int main(void)
{
int i = 0;
int j = 0;
int k = 0;
float XYZX1 = 0Y1 = 0Z1 = 0;
float data[row][col];
#if 0
//获取原始数据
float data[row][col]={42*4271*71(-11)*(-11)4271(-11)\
(-26)*(-26)65*65(-3)*(-3)(-26)65(-3)\
(-28)*(-28)4*4(-1)*(-1)(-28)4(-1)\
(-30)*(-30)45*455*5(-30)455\
(-31)*(-31)22*22(-30)*(-30)(-31)22(-30)\
(-36)*(-36)23*23(-2)*(-2)(-36)23(-2)};
#endif
#if 1
FILE *fd=fopen(“./txtEcheck.txt““r“);
for(i = 0 ; i < row ; i++)
{
for(k = 0;k < 10;k++)
{
fscanf(fd“%f%f%f\n“&X&Y&Z);
X1 += X;
Y1 += Y;
Z1 += Z;
}
X = X1 / 10;
Y = Y1 / 10;
Z = Z1 / 10;
//printf(“X:%f Y=:%f Z:%f \n“XYZ);
X1 = 0;
Y1 = 0;
Z1 = 0;
for(j = 0 ; j < col ; j++)
{
switch(j)
{
case 0:data[i][j]=X*X;break;
case 1:data[i][j]=Y*Y;break;
case 2:data[i][j]=Z*Z;break;
case 3:data[i][j]=X;break;
case 4:data[i][j]=Y;break;
case 5:data[i][j]=Z;break;
}
}
}
#endif
#if 0
for(i = 0; i < row ;i++)
{
for(j = 0;j < col;j++)
{
printf(“%f “data[i][j]);
}
printf(“\n“);
}
#endif
#if 1
float y[row][1];
for(i = 0;i
for(j=0;j<1;j++)
y[i][j]=2000;
//存放原始数据
struct _Matrix m1;
//初始化内存
matrix_set_m(&m1row);
matrix_set_n(&m1col);
matrix_init
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-10 15:02 磁力计校准算法\
文件 15227 2017-11-10 15:02 磁力计校准算法\a.out
文件 5463 2017-11-10 15:02 磁力计校准算法\main.c
文件 9655 2017-11-08 17:34 磁力计校准算法\matrix.c
文件 1956 2017-11-08 17:34 磁力计校准算法\matrix.h
文件 6222 2017-11-08 17:34 磁力计校准算法\tags
目录 0 2017-11-10 10:25 磁力计校准算法\ttxt\
文件 7420 2017-11-09 20:27 磁力计校准算法\ttxt\txt.txt
文件 1802 2017-11-09 16:08 磁力计校准算法\ttxt\txt1.txt
文件 7595 2017-11-09 20:20 磁力计校准算法\ttxt\txt4.txt
文件 743 2017-11-09 20:24 磁力计校准算法\ttxt\txt4-1.txt
文件 12288 2017-11-09 16:03 磁力计校准算法\ttxt\txtc.txt
文件 7408 2017-11-10 10:35 磁力计校准算法\txt1.txt
文件 7423 2017-11-10 10:44 磁力计校准算法\txt2.txt
文件 2400 2017-11-10 14:19 磁力计校准算法\txtcheck.txt
文件 14702 2017-11-10 15:00 磁力计校准算法\txtEcheck.txt
- 上一篇:植物大战僵尸外挂源码
- 下一篇:两输入单输出模糊控制c语言程序
评论
共有 条评论