TI中文支持网
TI专业的中文技术问题咨询交流网站

TCA9548A读数据的问题

1.我用TCA9548A来扩展8路气压传感器,气压传感器的地址都是0X77。对于写数据,我没有疑问。但对于读数据有点疑问,请帮忙解答。

2.如果不用TCA9548A,我明白顺序为:器件地址+W+寄存器地址+器件地址+R+返回的寄存器数据。

现在使用了CA9548A,是否为如下顺序?0XE0+通道+器件地址+W+寄存器地址+器件地址+R+0XE1+通道+返回的寄存器数据。

请问上面的顺序是否对?如果不对,麻烦给出正确的顺序,谢谢~

Kailyn Chen:

您好,您的意思是写数据之后紧接着读数据的顺序是吗? 那么写完之后应该重新发送一个新的起始条件,我认为正确的顺序如下:

start—–器件地址+0(write)——-ACK——-寄存器地址 —-ACK—–restart——-器件地址+1(read)—-ACK——返回的寄存器数据——stop。

wang xilong:

回复 Kailyn Chen:

我的意思就是读数据,读TCA9548A接的传感器的数据,不是读TCA9548A的数据。

如果不用TC9548A,直接读传感器的数据,我明白这个顺序,就如您讲的这样:start—–器件地址+0(write)——-ACK——-寄存器地址 —-ACK—–restart——-器件地址+1(read)—-ACK——返回的寄存器数据——stop。

从上面的顺序可以看出,读的过程也会write.

我的疑问是用了TC9548A后,上面的顺序要如何调整?

Kailyn Chen:

回复 wang xilong:

使用了TCA9548A之后,把寄存器地址其实就是控制寄存器,用来进行通道选择的, 读时序为:
start—–器件地址+1(read)——-ACK——-寄存器地址(通道选择) —-ACK—– 返回的寄存器数据——stop。

wang xilong:

回复 Kailyn Chen:

您好,请问,您回复的寄存器地址(通道选择)是否是指01或02或…07?
如果是的话,是否意味着就不需要加入0XE1了?
整个读过程是否是:start+0xE0(TCA9548A的地址为0X70)+ACK+通道选择+ACK+P ,然后start—–器件地址(指的是传感器的地址)+0(write)——-ACK——-寄存器地址 —-ACK—–restart——-器件地址+1(read)—-ACK——-寄存器地址(通道选择) —-ACK——返回的寄存器数据——stop?

赞(0)
未经允许不得转载:TI中文支持网 » TCA9548A读数据的问题
分享到: 更多 (0)