完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题是,用于MPU6050加速度计接口的最有用的工作代码是为ARDUINO编写的。使用其他MCU和C代码的PIC人在黑暗中独处。第二个问题是Invensense谁制造这个芯片,但没有作出任何PIC代码软件的例子,也没有应用程序说明与这个芯片接口。他们只提供与Arduino、AVR、STM、ARM、ti、PSOC和PIC IDE一起工作的软件下载。我已经用MPU6050阅读了所有有关I2C的帖子,但是没有帮助。有关连接MPU6050的相关帖子似乎不够详细,无法让我精确地了解它们的操作。经过几天的故障排除和网上论坛搜索,我找不到为什么我的C代码不能工作。当我执行下面的简单代码时,MPU6050似乎总是返回0表示WHOAMI reg如果尝试读取0x3b以获得X加速,则第一个字节总是0,而第二个字节似乎在每次连续读取时都在递增值。尝试读取温度或X,Y,Z值寄存器的结果相同。我正在运行16F886,带有20MHzXtal和400KHzI2C波特,同样的坏结果来自于上电或MCU复位后。使用GY-521通用BOB为MPU605016F886总是I2C主机,只有从设备MPU6050,数字范围显示正确的I2C电平和波形,没有小故障。到目前为止,工作正常:MPU6050 ACK对所有的写操作都是正确的,但是读操作是出乎意料的不正确结果。我如何知道工作正常。我在一个清楚地显示所有I2C动作的数字范围上观看I2C Clk和SDAT线路。我首先初始化16F886I2C。具有i2cinit()的模块;也称为:WaitMSSP();//等待在反锁定超时循环中设置SSPIF标志,但总是退出清除SSPIF之后:(为了简单起见,没有I2C标志监视的细节,如SSPIF、BF填充、ACK代码)注意:下面附带的实际完整的C代码------------------------------------------------------------------------------------------------------------------------------------------------------------------------------SEN=1;//Start I2C会话写到SSPBUF MPU I2C地址(0x68<1&0xFE)=0xD0 Addr+R/W位被清除以开始写(MPU6050 ACK正确)写到SSPBUF 0x6b//MPU6050寄存器地址以重置MPU6050,后面跟着参数=0 RESET(MPU6050 ACK正确)写到SSPBUF 0x0;//复位MPU6050并关闭休眠(上电时的默认状态)(MPU6050 ACK正确)写到SSPBUF 0x75//寄存器以请求MPU6050回送I2C地址=0x68back(MPU6050 ACK正确)RSEN=1;//重新启动I2C会话写到SSPBUF//i2C加法器+R/W位,设置用于读取(MPU6050 ACK正确)RCEN//EnableReadSSPBUF//results总是=0x0;//应该使用0x76寄存器读取0x68作为I2C地址,读取总是=0PEN=1;//End I2C会话(正确地信号结束...在范围上看到)--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------如果我用0x3B代替上面的0x75从MPU读取X轴加速,返回第一个0,然后第二个字节作为递增字节进行读取,每个连续读取(以几秒分隔)以0x82开始并递增的值。加速度计芯片是固定的,固定在适当的位置。如果我用0x42代替上面的0x75读出芯片温度,结果和X-Acell一样,增加2字节。
|
|
相关推荐
1个回答
|
|
嗨,只是要清楚…PIC正在生成I2C命令正确,但加速度计没有正确响应?谢谢,克里斯
|
|
|
|
只有小组成员才能发言,加入小组>>
5158 浏览 9 评论
1997 浏览 8 评论
1926 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3169 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2222 浏览 5 评论
722浏览 1评论
605浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
493浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
619浏览 0评论
518浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 05:23 , Processed in 1.232877 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号