在测试软件iic与bno055通信时遇到的问题以及解决办法

在使用软件iic与bno055通信过程中发现无法建立通信,于是使用了逻辑分析仪来看通信过程

廉价逻辑分析仪:

image-20200716172832232

电脑上位机:

image-20200716172945144

分析过程:

先使用了stm32的硬件iic来测试,通信成功

波形为:

image-20200716173145989

然后很自闭的是。软件iic的结果是

image-20200716173253877

发现sda无法被拉高。然后。后来很长一段时间都陷入在这个问题里。

在一次偶然的测试中。我试着反复发送。时钟信号。发现在上图中那段时间内。scl会持续被模块拉低。

然后了解到iic中有一种情况是 从机在某些情况下会强制吧scl拉低。目的是为了保证通信质量。于是。我在模拟程序中加入了scl拉高的循环等待,并且在应答结尾加上了一定的延时。

image-20200716173803716

通信成功!

最后安利一下bno055这个陀螺仪模块。很好用,吊打mpu6050

© 2021 hanbaoaaa record.浙ICP备20005263号
asdad
联系方式 asdasd
2021-5-8 4:19
sss
回复数 (0) 点击展开
加载更多

新增评论

称呼
联系方式
邮箱(选填)
内容

提交

取消