1.设置SDA的GPIO模式时,需要注意:
1.当你每次需要用SDA读取数据之前,有将SDA设置为输入模式。此时,你的SDA初始化GPIO模式时,可以将其设置为开漏模式或推挽模式。
2.当你在SDA读取数据之前,没有将SDA设置为输入模式。此时,你的SDA初始化GPIO模式时,要将其设置为开漏模式。因为在开漏输出模式下,施密特触发器是打开的,此时IO口引脚的电平状态会被采集到输入数据寄存器中。也就是说在开漏输出模式下,可以对IO口进行读数据,而不用将其设置为输入模式。
2.如果在主函数测试MPU6050的DMP解算读取俯仰角、翻滚角、偏航角的功能是否正常时,不应该在其下面将延时设置太长。
下面是我在主函数中测试dmp解算功能是否正常,我用a来测试mpu_dmp_get_data函数是否正常,如果a等于0,为正常;如果a为其他数,为不正常。然后将每次数据打印出来后延时100ms,此时可以看到串口助手中a有时候等于0,有时候等于1。说明运行过程中,可能出现dmp处理问题。
然后,我试着把延时增大到500ms,此时可以看到串口助手中,