zoukankan      html  css  js  c++  java
  • TCA9548A iic地址扩展器件 树莓派JAVA版教程

    TCA9458A是德州仪器的iic数据选择器,TCA9548A 器件配有八个可通过 I2C 总线控制的双向转换开关,所以具有8个i2c扩展接口,TCA9548A本身就是一个I2C元器件,通过编程可以在8个不同地址之间切换。

    TCA9548A

    1. 使用场景

      当你想用很多个相同IIC芯片的时候,发现他们不能片选,也就是说他们的IIC芯片是死的,你做白日梦也改不了的,这个时候怎么办呢,你可能会想到我的主控芯片有2到3个IIC接口,我可以一个接口用一个,但是有时候有很多的话我们就得使用TCA9548这种扩展芯片了。

    2. 树莓派的使用方法。

      1. 连接

        IIC设备<==>TCA9548<==>树莓派

        IIC设备和TCA9548都接上电源

      2. 规定

        TCA9548片选初始地址为0x70(A0,A1,A2全部接地),最大地址为0x77(A0,A1,A2全部上拉)

        我使用的是树莓派IICBUS1

        我使用的IIC设备地址为0x48

      3. 代码

    https://www.bilibili.com/read/cv4766571B站文章

    请关注我的B站账号https://space.bilibili.com/309103931分享更多PHP姿势

    import java.io.IOException;
    import com.pi4j.io.i2c.I2CBus;
    import com.pi4j.io.i2c.I2CDevice;
    import com.pi4j.io.i2c.I2CFactory;
    import com.pi4j.io.i2c.I2CFactory.UnsupportedBusNumberException;
    
    public class TCA9548ADemo {
    	
    	public static void main(String[] args) throws UnsupportedBusNumberException, IOException {
    		I2CBus i2c = I2CFactory.getInstance(I2CBus.BUS_1);
    	    I2CDevice tca = i2c.getDevice((byte)0x70);
    	    
    	    tca.write((byte) (1<<1));//选择tca9548A的SD1,SC1
    	    
    	    I2CDevice device = i2c.getDevice((byte)0x48);//此时的0x48就是SD1,SC1
    	    int data = device.read(0x90);
    	    
    	    System.out.println(data);
    		
    		
    	}
    	
    }
    

    原理图

  • 相关阅读:
    bootstrap treevie只展开一个节点,关闭其他节点
    Java后端校验-使用hibernate-validator校验JavaBean
    js生成Excel文件
    Databus&canal对比
    KVM安装配置笔记
    机器学习之数学基础一导数
    机器学习-线性回归
    机器学习之数学基础一统计
    Leader与Boss,技术leader与管理者
    php递归获取无限分类菜单
  • 原文地址:https://www.cnblogs.com/kawayidamiao/p/13843775.html
Copyright © 2011-2022 走看看