你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
priestyoyo 发表于 2015-12-23 20:20 看到你说搞定了。我又把板子翻出来调了一晚上。。。我确定一定是我的问题,不知道哪里理解错了。。 我首 ...
ahaiff 发表于 2016-1-14 12:43 8963内部也需要操作,并注意SPI写完要延时,20M的spiy要等待400K的内部I2C操作完成,附上我的源码 ...
ahaiff 发表于 2016-1-14 13:41 SPI透过I2C master 操作8963c的寄存器
ahaiff 发表于 2015-12-19 14:24 也调了好几天,终于搞定了,用内部I2C MASTER 转发,slv4单字节读写AK88963寄存器,用SLV0接收数据到EXT_SE ...
骑你去看猪 发表于 2016-5-29 19:27 http://www.eeboard.com/bbs/thread-46005-1-1.html 这个写的很好,可以参考下,工程什么的都有 ...
骑你去看猪 发表于 2016-5-29 22:30 这个是用的IIC读。如果用SPI读就必须像楼上仁兄说的那样,把内部的IIC当个搬运工,要数据也必须等IIC搬完 ...
SPI透过I2C master 操作8963c的寄存器
这几天也在捣鼓这个模块,目前正在读取磁力计的数据,学习中...
要是能提供宏定义数据更好...
大侠,今天试了一下,读不出数据,读取I2C的Slv4_done状态时,一直不会置位,可否指点一下?
/* 读 MPU9250 ID 判断是否在线 */
if (MPU9250_ID == MPU9250_Read_Reg())
{
MPU9250_Write_Reg(USER_CTRL, 0x30); /* 使能 MPU9250 SPI 工作模式和 I2C 主机 I/F 模式 */
MPU9250_Write_Reg(PWR_MGMT_1, 0x80); /* 电源管理,复位 MPU9250 */
MPU9250_Write_Reg(SMPLRT_DIV, 0x07,); /* 采样率 1000/(1+7)=125HZ */
MPU9250_Write_Reg(CONFIG, 0x06); /* 低通滤波器 0x06 5Hz */
MPU9250_Write_Reg(GYRO_CONFIG, 0x18,); /* 陀螺仪测量范围 0x18 正负 2000 度 */
MPU9250_Write_Reg(ACCEL_CONFIG, 0x18); /* 加速度计测量范围 0x18 正负 16g */
/* MPU9250-AK8963 磁力计初始化 */
if (!MPU9250_AK8963_Init()) return false;
}
其中MPU9250_AK8963_Init()是参考楼主的,只能读加速度和陀螺仪
Content
Summary
Prolem
看到你的两张图片,也按照你的样式重新写下,可依旧读地磁没有。可不可以把你的测试程序放出来打包瞧瞧,感谢
这个写的很好,可以参考下,工程什么的都有
这个是用的IIC读。如果用SPI读就必须像楼上仁兄说的那样,把内部的IIC当个搬运工,要数据也必须等IIC搬完才有效,也就是AKM8963只支持IIC。。。可就是这样也一直没调成。。。赶脚这麻烦还不如用MPU6500和HMC5933的组合了,对性能有要求的直接ST的LSM6/9D走起
后来一版我确实用了mpu6500+hmc5983了,请问仁兄LSM6/9D的效果怎样?