• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

求助,MPU6050运行一段时间后死机无数据输出?

wengqiang 2019-04-10 浏览量:2715
ript-attr="%20type%3D%22text/javascript%22">BAIDU_CLB_fillSlot%28%22200744%22%29%3B
为什么MPU6050一开始数据输出经过校正后是对的,和单片机连接后烧程序进去两天了都可以正常工作,但是突然间数据输出就一直不变而且不是正确的加速度,这是为什么呢,我用逻辑分析仪测试了一下MPU6050的SDA和SCL,发现一开始正常运行的时候两条线上时序正常,但是输出不变的时候两条线上没有电平,我是在定时中断里面写的采值程序,5ms只采六个值,应该没问题吧,而且在卡死的时候,单片机的其他程序还在运行,串口也在输出,PID之后的pwm也在变化,请问这是出了什么问题,我该如何解决?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 你的IIC是不是GPIO模拟的,还是硬件的IIC,在中断中使用IIC时,IIC的通讯速度比较慢,会在中断中占用比较长的时间,可能是其他的中断打断了IIC通讯,导致的总线上的时序错误
    • 发布于 2019-04-11
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 看一下i2c管脚电平是否锁死,也就是两根线有一根是低电平就不行,解决办法可以用io模拟i2c通讯,或者在硬件通讯中加入超时检测功能防止锁死
    • 发布于2019-04-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 有可能是I2C上面的时序乱了,如果I2C用的是模拟的,可以停止一段时间时钟输出,然后再尝试操作I2C,如果用的是硬件I2C,那就要检查一下寄存器是不是有异常数据存在
    • 发布于2019-04-10
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

求助,MPU6050运行一段时间后死机无数据输出?