主要内容

disableI2C

禁用I2C接口

描述

例子

disablei2c(mypi.的)禁用I2C总线。然后,您可以使用Raspberry Pi™I2C引脚I2C1_SDA(GPIO 2)和I2C1_SCL(GPIO 3)作为GPIO引脚。默认情况下启用I2C总线。重新启用I2C,使用enableI2C

例子

全部收缩

在Raspberry PI内核上启用和禁用I2C接口,并分别使用Raspberry PI Hardwary Landel引脚I2C功能和GPIO。从TMP102 I2C温度传感器与覆盆子PI硬件板接口的TMP102 I2C温度传感器读取温度数据。有关TMP102温度传感器的更多信息,请参阅其数据表。您还可以在Raspberry PI和其他I2C设备之间交换数据。有关更多信息,请参阅特定I2C设备的数据表。在Raspberry PI Linux上执行这些步骤®终端以确保在硬件内核中启用了I2C接口。

  1. 运行这个命令:

    sudo raspi-config

  2. 选择接口选项>I2C.

    Raspberry PI内核I2C接口选项在Linux终端上选择

  3. 选择是的提示启用I2C接口。

    树莓派内核I2C接口使能选项

  4. 选择是的提示自动加载I2C内核模块时。

  5. 选择完成

  6. 选择是的提示重启时。

提示

控件也可以启用I2C接口Raspberry PI资源监视器应用程序

从MATLAB创建一个连接®到树莓派板,在MATLAB命令窗口执行此命令。

mypi = raspi;
DeviceAddress:'RaspberryPi-Hysdu8x380'端口:18734 BoardName:'Raspberry Pi 3 Model B +'Favicableds:{'LED0'}可用性帖:[4 5 6 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27]可用性填充: {‘CE0’,’CE1’} AvailableI2CBuses: {'i2c-1'} I2CBusSpeed: 100000 AvailabelWebCams: mmal service 16.1 (platform:bcm2835-v4l2)
GPIO标头销钉I2C_SDA (GPIO 2)I2C_SCL(GPIO 3)用于I2C功能。GPIO引脚2和3未列入AvailableDigitalPins属性,因为I2C功能在默认情况下是启用的,并且I2C功能目前正在使用引脚。

要显示树莓派硬件板的引脚映射,请在MATLAB命令窗口执行此命令。

Showpins(Mypi);
覆盆子PI 3型号B + GPIO的I2C引脚标注

修改后的Raspberry Pi硬件板引脚图显示了I2C引脚的位置,I2C_SDA (GPIO 2)I2C_SCL(GPIO 3),在这一点I2C-1公共汽车。

在将基于I2C的温度传感器物理连接到I2C引脚之后,获取连接到I2C总线的I2C设备的地址'i2c-1'

scanI2CBus (mypi'i2c-1');
ANS = 1×9单元阵列{ '0x48'} { '为0x50'} { '0x51'} { '0×52'} { '0x53'} { '0x54'} { '0x55的'} { '0x56储存'} {'0×57'}

在I2C地址创建从MATLAB到I2C传感器的连接'0x48'。

tempsensor = i2cdev(mypi,'i2c-1''0x48');

传感器的温度读数被数字化成12.正常模式下的位,有8.MSB中的位和4.LSB中的位。每个LSB等于0.0625摄氏度。写入寄存器地址以从第一个字节读取,然后从中读取两个字节的数据。将数据类型设置为uint8.

写(Tempsensor,0x0,'uint8');数据=读取(Tempsensor,2,'uint8');TEMP =(DOUBLE(DIBLIFT(数据(1)),4))+ DOUBLE(Bitshift(INT16(数据(2)),-4))))* 0.0625;
temp = 30.0625.

在禁用之前清除有源I2C传感器连接。禁用I2C功能后,您可以使用Raspberry PI I2C引脚作为GPIO引脚。

清晰的tempSensor;Disablei2c(Mypi);mypi = raspi;
DeviceAddress:'Raspberrypi-hysdu8x380'端口:18734 BoardName:'Raspberry Pi 3 Model B +'FablableLeds:{'LED0'}可用性零件:[2 3 4 5 6 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 26 22] AvailableSPIChannels: {‘CE0’,’CE1’} AvailableI2CBuses: {} I2CBusSpeed: 100000 AvailabelWebCams: mmal service 16.1 (platform:bcm2835-v4l2)
GPIO 2GPIO 3现在可用引脚,可用作GPIO引脚。没有I2C总线可用于I2C接口。

再次使用I2C之前,请先启用I2C功能。

enableI2c(mypi);

当您启用I2C时,您可以更改I2CBUSSPEED(MYPI)财产。

Disablei2c(Mypi);enableI2c(mypi,400000);I2CBUSSPEED(MYPI);
ans = 400000

输入参数

全部收缩

连接到覆盆子PI硬件板,指定为araspi对象。

介绍了R2014a