TCA9548A芯片的使用

首先要阅读芯片手册,大概了解该芯片如何使用

芯片功能

就是一个i2c的多路多路开关,可以把最多8个地址相同的i2c设备分别接在TCA9548APWR芯片上,

通过i2c命令对TCA9548APWR芯片进行设置,即选择接通一个chanel,这样也就是选择了8个i2c设备中的一个设备

下图来自芯片手册

 

 

TCA9548A芯片地址

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

操作TCA9548A芯片

这个芯片比较简单,只有一个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这个芯片就相当于是透明的。

 

原文链接:https://blog.csdn.net/zhangjianjun521/article/details/105014355?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161442497816780265472871%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161442497816780265472871&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-1-105014355.pc_search_result_cache&utm_term=tca+%E8%8A%AF%E7%89%87

posted @   Aaron看世界  阅读(4119)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示