[技术求助] 使用MCU单片机与INA220通信

[复制链接]
1488|17
 楼主| daken 发表于 2017-3-24 11:12 | 显示全部楼层 |阅读模式
最近一个案子,需要使用STM32通过IIC读取INA220的电流,手册上说如果A0,A1都接GND,那么地址应该是0x80和0x81,但是INA220 EVM软件上设置的地址是0x40,有些迷茫,目前读出来几个寄存去都是0xffff.请问如何设置INA200的地址和寄存器。
airwill 发表于 2017-3-24 16:07 | 显示全部楼层
不知道是不是我看错了
我发现地址总共只有 7位, 可设置的地址是 40H 到 4FH
你的 0x80 是怎么来的?
xyz549040622 发表于 2017-3-24 22:54 | 显示全部楼层
参考airwill 版主说的,I2C的从地址就是7位的,你哪来的8位呢。
根据数据手册上的说明,A0和A1都接GND,地址是0x40.看这个表就知道了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
vivilzb1985 发表于 2017-3-26 16:05 | 显示全部楼层
这个是关系到I2c地址的吧
vivilzb1985 发表于 2017-3-26 16:07 | 显示全部楼层
0x40左移一位的话就是0x80的,,这个是有个移位操作的
vivilzb1985 发表于 2017-3-26 16:08 | 显示全部楼层
写的话就是0x80,读的话就是0x81的,,可以体会下,,都是最低位不同的
vivilzb1985 发表于 2017-3-26 16:08 | 显示全部楼层
最低位为读写标志位的,,实际的地址是7位的
shenmu2012 发表于 2017-3-26 17:46 | 显示全部楼层
楼上分析的比较仔细的。。
shenmu2012 发表于 2017-3-26 17:47 | 显示全部楼层
这个关于I2c总线地址的问题的,,有大神在论坛上专门讨论过的
firstblood 发表于 2017-3-26 18:37 | 显示全部楼层
通讯地址的问题还是需要注意的
 楼主| daken 发表于 2017-3-27 11:32 | 显示全部楼层
地址问题解决了,读地址是0x80,写地址是0x81,现在新问题是,写入寄存器00的值是0x399f,但是读出来是0x393f;05写进去是0xa000,读出来是0xa001.这是为啥呢?IIC的各种延时都增加了,问题依旧。
plsbackup 发表于 2017-3-27 17:13 | 显示全部楼层
你使用示波器测量过io输入输出的信号了吗
plsbackup 发表于 2017-3-27 17:15 | 显示全部楼层
iic地址你再看看,在手册里面与详细介绍。
suzhanhua 发表于 2017-3-28 22:32 | 显示全部楼层
楼主的IIC地址还没有看明白
suzhanhua 发表于 2017-3-28 22:36 | 显示全部楼层
看一下你的程序,iic时序可能存在问题。
 楼主| daken 发表于 2017-4-1 09:45 | 显示全部楼层
问题解决了,原因还是代码里面有bug,多一个应答信号。
xiaoyaodz 发表于 2017-4-1 23:10 | 显示全部楼层
这个手册里面写的有。
xiaoyaodz 发表于 2017-4-1 23:12 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部