主要内容

从I2C设备读取数据

描述

例子

数据=阅读(i2cdataPrecision以行向量的形式从I2C设备返回数据。

函数完成从设备读取指定数据,或当超时时间过了,函数停止。

例子

全部折叠

您可以与I2C总线上的I2C设备连接和交换数据1

从MATLAB创建连接®软件到BeagleBone®黑色的硬件。

bbb = beaglebone
bbb = beaglebone属性:DeviceAddress:“192.168.7.2”BoardName:“beaglebone黑人牧师00 c0”AvailableLEDs:{“USR0”“USR1”“USR2”“USR3”}AvailableDigitalPins: {1} x29细胞AvailableAnalogPins:{“AIN0”“AIN1”“AIN2”“AIN3”“AIN4”“AIN5”“AIN6”}AvailablePWMPins: {} AvailableSPIChannels: {} AvailableI2CBuses:{“i2c-1”}AvailableSerialPorts:{} AvailableWebcams: {}

实现I2C总线1

enableI2C (bbb, 1)

显示AvailableI2CBuses

bbb。AvailableI2CBuses
Ans = 'i2c-1' 'i2c-2'

AvailableI2CBuses显示默认总线2作为i2c-1.的1是内部索引号。当您启用总线时1AvailableI2CBuses显示它i2c-2

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

scanI2CBus (bbb,“i2c-2”
ans = {0 x55 ', ' 0 x20 '}

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

i2csensor = i2cdev (bbb,“i2c-2”“0 x20”
i2csensor = I2C with Properties: Bus: I2C -2 I2CAddress: 0x20 TimeOut: 10

读两uint8来自传感器的数字。

output1 =阅读(i2csensor, 2);

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

output2 = readRegister (i2csensor 14);

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

i2cdisplay = i2cdev (bbb,“i2c-2”“0 x55”
i2cdisplay = I2C with Properties: Bus: I2C -2 I2CAddress: 0x55 TimeOut: 10

向显示器中写入字符。

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

写入标量的十六进制值,hex2dec (08),在I2C设备上注册3。uint8是默认数据类型。

writeRegister (i2cdisplay 3 hex2dec (08年的))

输入参数

全部折叠

连接到I2C设备,指定为i2cdev对象。

例子:i2c

I2C数据的大小,指定为标量。这个值是您所期望的数据元素的数量。

例子:2

数据类型:int8|int16|uint8|uint16

数据精度,指定为字符向量。将数据精度与设备上寄存器的大小匹配。可选的。

例子:“int16”

数据类型:字符

输出参数

全部折叠

来自I2C设备的数据,作为行向量返回。的参数指定行向量中元素的数量。

介绍了R2015a