主要内容

i2cdev

连接到设备上覆盆子π硬件

描述

这个对象表示一个来自MATLAB的连接®软件到设备上的Raspberry Pi™硬件I2C总线。将I2C设备连接到树莓派硬件的适当引脚上。要与I2C设备进行交互,请使用此对象和中列出的函数对象的功能

创建

描述

例子

myi2cdevice= i2cdev (mypi公共汽车i2cAddress创建一个对象,该对象表示与指定Raspberry Pi硬件上连接到I2C总线的设备的连接myi2cdevice

输入参数

全部展开

连接到特定的树莓派硬件板,指定为raspi对象。

属性

全部展开

连接到硬件的I2C总线的标识符,指定为字符向量。属性设置此属性公共汽车输入参数,在创建对象后不能更改。

例子:“i2c-1”

数据类型:字符

连接到硬件的I2C总线的十六进制地址,指定为字符向量。属性设置此属性i2caddress输入参数,在创建对象后不能更改。使用scanI2CBus函数获取地址列表。

请注意

范围内的十六进制地址0 x010 x77都受支持金宝app。

例子:“0 x20”

数据类型:字符

对象的功能

从I2C设备读取数据
将数据写入I2C设备
readRegister 从I2C设备上的寄存器读取
writeRegister 写入到I2C设备上进行注册

例子

全部折叠

您可以用一对I2C设备连接和交换数据。

创建一个连接从MATLAB软件到树莓派板。

mypi = raspi
mypi = Raspi属性:DeviceAddress:“raspberrypi-hysdu8X38o”端口:18725 BoardName:“树莓π模型B牧师2”AvailableLEDs:{“led0”}AvailableDigitalPins:[4 7 8 9 10 11 14 15 17 18 22日23日24日25日27日30 31]AvailableSPIChannels: {} AvailableI2CBuses:{“i2c-0”“i2c-1”}I2CBusSpeed:100000金宝app支持的外设

重新显示AvailableI2CBusesI2CBusSpeed

mypi。AvailableI2CBuses mypi。I2CBusSpeed
Ans = 1×2 cell array {'i2c-0'} {'i2c-1'} Ans = 100000

显示I2C引脚的位置。

showPins (mypi)

引脚图显示,对于这个模型和修正的板,i2c-1总线在GPIO头引脚上可用I2C1_SDA (GPIO 2)I2C1_SCL (GPIO 3)

在将您的I2C设备物理连接到I2C引脚之后,获取连接到I2C总线的I2C设备的地址,“i2c-1”

scanI2CBus (mypi“i2c-1”
ans = {0 x55 ', ' 0 x20 '}

创建一个连接,i2csensor,从MATLAB软件到I2C传感器“0 x20”

i2csensor = i2cdev (mypi,“i2c-1”“0 x20”
i2csensor = I2C with Properties: Bus: I2C -1 I2CAddress: 0x20

从传感器读取两个uint8数字。

output1 =阅读(i2csensor, 2)

从传感器读取寄存器14的值。

output2 = readRegister (i2csensor 14)

创建一个连接,i2cdisplay,从MATLAB软件到I2C LED显示屏“0 x55”

i2cdisplay = i2cdev (mypi,“i2c-1”“0 x55”
i2cdisplay = I2C with Properties: Bus: I2C -1 I2CAddress: 0x55

向显示器中写入字符。

写(i2cdisplay [hex2dec (“20”) hex2dec (“51”)))

写入标量的十六进制值,hex2dec (08),在I2C设备上注册3。

writeRegister (i2cdisplay 3 hex2dec (08年的),“uint8”

如果您没有使用I2C,请禁用I2C以释放额外的GPIO引脚。

disableI2C (mypi)

再次使用I2C前,请先启用I2C。

enableI2C (mypi)

当您启用I2C时,您可以更改mypi。I2CBusSpeed财产。

disableI2C (mypi) enableI2C mypi (mypi, 400000)。I2CBusSpeed
ans = 40000

扩展功能