ICM20948 DMP代码详解(74)

时间:2024-10-14 11:49:28

接前一篇文章:ICM20948 DMP代码详解(73)

 

上一回讲到系统初始化尤其是ICM20948相关初始化完成、进入到while循环后,没有任何中断。为什么会这样呢?按照官方工程代码来看,初始化完了就进入循环,等待相关中断标志置位即DMP FIFO中断产生,之后就进入数据解析了。没毛病啊!印象中当初MPU6050、MPU9250也就是这么玩的啊。到底是哪里出了问题?

其实这个状态是小一个月前,笔者刚刚开始研究代码、还没有后来深入源码也即没有开始撰写此系列文章的状态。当时怀疑过很多地方,比如硬件接线有问题、官方代码存在问题、官方代码中的设置与板子不完全匹配等……这方面网上搜索是根本搜不到任何相关内容的,笔者这才决定做第一个吃螃蟹的人(虽然笔者不是太爱吃海鲜,总觉得那玩意麻烦吧),为后人趟出一条路,以免他们再重复笔者的问题和困难。

  • 怀疑点1 —— 硬件接线问题

先从第一个还一点入手:硬件接线问题。

不查不知道,一查还真就查出了问题。笔者拿到的硬件板子和原理图对不上,后来问过硬件才知道,笔者拿到的原