-
前用匿名四轴的代码称植过来发现求出的
Pitch
与
Roll
一直不断的增加,不知道什么原因,
静止放着也不行。
看了不少四元数的资料,
p>
能看懂,但是结合数据融合又糊了。
加上卡尔漫数据也就那样,可<
/p>
能是我处理得有问题。偶然翻帖看到了
DMP
,于是打算移植过来看看。
花了两三的时间总算成功了。
现在把一些移植过程中的问题给大家分享一下,
顺带的附上源<
/p>
码。
I2C
我用的是匿名四轴的,能用。但是要注意,官方的那个编程方式很像
Linux
,应该说用
的是
GNU
C
。在
Linux
下,调用一个函数,
成功的时候返回的是
0
,异常时返回的是-
1
,
-
2
等。但是一般人写的驱动成功都用
1
表示,失败用
0
表示。所以这点要注意一下。
< br>/////////////////////////////////////////////// //////////////////////////////////
int8_t i2cwrite(uint8_t addr, uint8_t
reg, uint8_t len, uint8_t * data)
{
if(i2cWriteBuffer(addr,reg,len,data))
{
return TRUE;//0
}
else
{
return FALSE;//-1
}
//return FALSE;
}
int8_t i2cread(uint8_t addr, uint8_t
reg, uint8_t len, uint8_t *buf)
{
if(i2cRead(addr,reg,len,buf))
{
return TRUE;//0
}
else
{
return FALSE;//-1
}
//return FALSE;
}
/////////////////////////////////////////////////
/////////////////////////////////
const struct hw_s hw = {
.addr
= 0x68,
.max_fifo
= 1024,
.num_reg
= 118,
.temp_sens
=
340,
.temp_offset
= -521,
.bank_size
=
256
-
-
-
-
-
-
-
-
-
上一篇:仪器分析复习题(1)
下一篇:电脑文件后缀名含义大全