1、请问,如果用内部的IIC去与一个IIC的ADS1115数据转换器通信。ADS1115的地址是,1001000,,7位。那么,我用430主控时,从机地址是0x90,还是0x91。
(如果我想读ADS1115的寄存器数据)。
2、接着第一问,如果用硬件IIC,在从机地址已经写了从机(器件)的地址,那么在发送数据时,还需要再发一遍从机的地址码?
3、如果,我就想读某个IIC器件的寄存器的数据值,那么我只需要把IIC模块配置成主控接收模式就可以吗?
4、如果是地址式IIC通信,那么是不是我每次给器件写数据都需要写一遍地址。
5、读还是写到底看哪一位来体现?
Liu Kissn:
1、你的从机地址应该写成01001000(0x48),不能写成0x91,因为选用7位从机地址的时候,地址的最高位没有用
2、读写位由寄存器中的UCTR来确定,当UCTR = 1时,代表向从机写数据,UCTR = 0代表读数据
3、当主机发送Start信号时,从机地址(7bits)和读写位(1bit)组成的字节(1Bytes)会随之发送
Start + Slave + R/W
| |
100100 + 1/0