我在清除MPU9050 DMP时没有跳过值的问题。我使用了Jeff Rowberg的代码。问题是当我使用代码时一切都很完美,YPR非常流畅。但是当我在我的程序中使用延迟时,我会随着时间的推移跳跃值。根据延迟,跳跃值会有所不同。
我使用了延迟,因为我通过单位读取串行值,并且在Arduino端需要一点延迟才能读取数据。有人可以告诉我问题是什么以及如何解决它?
非常感谢。
答案 0 :(得分:0)
fifo缓冲区很可能溢出,导致数据不正确。如果你延迟持续时间超过你的dmp频率,就会发生这种情况。您可以使用的一种策略是尽可能快地从dmp读取数据,但只能通过串行端口每隔一个或每三个读数发送一次数据,具体取决于读数之间所需的延迟类型。
如果您根据dmp频率和所需的串行频率编辑问题,我可以尝试提供更多帮助。