IIC的从机相对于主机来说便比较简单,主要是从机的地址的获取。

      这里以AT24cxx为例来说明。

      IIC介绍(四)之从机介绍

      由上图可知,当AT24cxx作为IIC的从机时,其地址一般为7位,7位地址中前4位是固定的,为1010,区别是后三位,其由管脚所接的电平所决定。

IIC介绍(四)之从机介绍

由上图可知,芯片会留有3个管脚(A0、A1和A2),在实际使用AT24cxx时,根据这三个管脚所接的电平的不同,AT24cxx在IIC中的地址也随之不同,比如下图:

IIC介绍(四)之从机介绍

     它在IIC中的地址便为1010 000(0x50),因此其读地址为:1010 0001(0xA1),写地址为:1010 0000(0xA0).

     而通过IIC来对该设备进行读写的操作如下图所示:

首先是写一位数据(其在发完设备地址后发的第一个字节是所要写的地址而非数据):

IIC介绍(四)之从机介绍

之后是连续写(与上面类似的,在发完设备地址后所发的第一字节为要写数据的地址,但在其之后便不需在发存储数据的地址,而是数据,因为AT24cxx会自动在之前地址上加1的地址处存储数据):

IIC介绍(四)之从机介绍

然后是读一个字节(与写类似,先是设备地址,再是数据的存储地址,然后再发一次设备地址,最后便是要读的数据):

IIC介绍(四)之从机介绍

最后是一连串数据的读取(先是设备地址,再是数据的存储地址,然后再发一次设备地址,最后便是要读的数据,每读一次AT24cxx会将读地址自动加1再传输):

IIC介绍(四)之从机介绍


相关文章: