· 2022年08月30日 · 河南

MM32f5270传感器iic通信地址地址确定

一直比较忙想把自己现在手头做的好的直接移植,发现并不适合。在移植mpu6050时发现,该从设备的iic通信地址有别与现在自己使用的。

经过对比发现,原因在于设计的电路有差异。

首先,针对原理图进行排查时发现,mpu6050的AD0引脚时通过一个10k的电阻拉低了。

图片.png

而后,在排查mpu的数据手册中发现。

图片.png

这段的介绍,说明了这个ad0接到gnd原因是将两片mpu6050接后能够通过AD0接GND或者VCC来实现设备地址的不同,这里说明了将地址是7bits长。通过AD0配置为GND时设备地址使用了b1101000,AD0为VCC时地址则为b1101001。这样,系统中就会通过使用两个传感器。

根据iic的通信协议地址的最低一位代表着r/w。0”表示写,“1”表示读。所以I2C设备通常有两个地址,即读地址和写地址。mpu6050在图中AD0配置了GND代表了设备的写地址是0xD0,写地址为0xD1.如果AD0配置为VCC,读写地址为D3和D2.

最近,比较忙想着这个简单,结果跟我的配置完全不一样,其次,给的数据手册不是很完整,还有寄存器的说明没写清楚。这个我会继续找找。现在读到的数据只成功一次就没刷新了。还存在问题。还没找到,暂时不放驱动部分了。只分享避坑经验。

推荐阅读
关注数
0
文章数
2
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息