以下为个人问题汇总,排查点汇总可能大有缺陷,如有错误,欢迎指正。
排查点汇总
- 检查软件iic的时序操作
- 用示波器或逻辑分析仪检查波形
无法使用逻辑分析仪进行I/O引脚波形分析
充当SDA、SCL的引脚要配置为推挽输出;
另外,逻辑分析仪用于软件仿真,不能检测到从机给MCU发送数据而引起的电平变化;
显示值错误,比如读取Who_Am_I时显示0000
- 注意检查iic软件实现的时序,比如我就错把Start写错为Stop,导致时序错误。
- 后来又出现一种奇怪的情况:单独使用时还好,后面加上读取角速度后又显示0000(如果后面接的是读取加速度没有这种错误,但是两个读取的代码是基本一样的)。问题可能出在读取加陀螺仪的内部代码上,换了一种代码后就不会有这种错误。