首先要阅读芯片手册,大概了解该芯片如何使用
芯片功能:
就是一个i2c的多路多路开关,可以把最多8个地址相同的i2c设备分别接在TCA9548APWR芯片上,通过i2c命令对TCA9548APWR芯片进行设置,即选择接通一个chanel,这样也就是选择了8个i2c设备中的一个设备。
下图来自芯片手册

TCA9548APWR芯片地址:
既然TCA9548APWR芯片是一个i2c设备,那么一定有i2c设备地址,如下图所示,7位地址的低3位取决于外接电平状态。

操作TCA9548APWR芯片:
这个芯片比较简单,只有一个8位寄存器,将某一位置一,说明将哪个chanel开通。
但是有个问题,标准的i2c协议,是先写i2c设备地址dev_addr,然后在写寄存器地址offset,然后在写数据。而TCA9548APWR芯片只有一个寄存器,那么起寄存器地址是多少呢?
经过测试可知,在标准的i2c接口函数中,将寄存器地址offset设置为0即可。即:
dev_addr=0x70;//根据自己的板卡情况,地址可能不同
offset = 0;
count= 1;
data[0]=0x80;//选择chanel7
i2c_write(dev_addr, offset, nbytes, &data);)


操作TCA9548APWR芯片连接的i2c设备:
既然设置好了TCA9548APWR芯片,那么如何操作其连接的i2c设备呢?
这就很简单了,直接按照正常的i2c设备进行读写即可。此时TCA9548APWR这个芯片就相当于是透明的。
本文详细介绍了TCA9548APWR芯片的功能与使用方法,作为I2C多路开关,它能实现多个相同地址I2C设备的选择切换。文章深入解析了芯片的地址配置、寄存器操作及与外部I2C设备的连接方式。
6479

被折叠的 条评论
为什么被折叠?



