FPGA|CPLD|ASICwilliam hill官网
直播中

小萃米

11年用户 801经验值
私信 关注

关于I2C的从机地址和寄存器地址

最近在写一个I2C。阅读协议,理解master先寻址slave,然后发送或接受数据
但如果主机寻址发送的是从机的设备地址,那么如何确定读写寄存器的地址呢?
还是我理解错了?主机寻址的时候就是发送的寄存器的地址?
求大家帮帮忙,谢谢啦!
已退回2积分

回帖(2)

曾春欣

2015-1-26 20:18:58
I2C标准总线只定义起始/停止条件、从机地址寻址和数据应答收发(仲裁等等)。从数据的结构上说,就是8位数据加1个应答,第一个数据已定义,就是从机地址和读写位;后面数据用法可自定义,比如可定义为寄存器地址之类的,又或者第二个是芯片命令、第三个才是寄存器地址,又或者第二个开始就是数据(只有八位寄存器或者定义了从地址0开始存放)。本就很灵活的,别想得太死板。具体看芯片说明。
以上是我的理解。
1 举报

seduce

2015-1-26 20:55:04
master首先发送起始位,然后跟着是slave器件地址,紧接着是寄存器地址,然后根据是read还是write的不同发送或接收数据,其实,楼主的意思是想知道slave是如何识别寄存器地址的吧?其实slave首先是识别起始位,发现起始位后匹配器件地址,如果是自己,才会进行接下来操作,而master发送寄存器地址的时候,不会再发送起始位了
1 举报

更多回帖

发帖
×
20
完善资料,
赚取积分