主要内容

从I2C读取数据的设备

描述

例子

数据=阅读(myi2cdevice,)从I2C设备返回的数据作为一个行向量。

方法停止当它完成从设备读取指定的数据,或超时周期结束时。

例子

数据=阅读(myi2cdevice,,dataPrecision)从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年万博1manbetx支持的外设

重新显示AvailableI2CBusesI2CBusSpeed

mypi。AvailableI2CBuses mypi.I2CBusSpeed
ans = 1×2单元阵列{‘i2c-0} {‘i2c-1} ans = 100000

显示I2C针的位置。

showPins (mypi)

销地图表明,这个模型和修正的董事会,i2c-1总线上可用的头针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的属性:公交:i2c-1 I2CAddress: 0 x20

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

output1 =阅读(i2csensor, 2)

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

output2 = readRegister (i2csensor 14)

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

i2cdisplay = i2cdev (mypi,“i2c-1”,“0 x55”)
i2cdisplay = I2C的属性:公交:i2c-1 I2CAddress: 0 x55

写字符显示。

写(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.I2CBusSpeed (mypi, 400000)
ans = 40000

输入参数

全部折叠

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

例子:myi2cdevice

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

例子:2

数据类型:

数据精度,指定为一个字符串。匹配精度的数据寄存器的大小在设备上。可选的。

例子:“int16”

数据类型:字符

输出参数

全部折叠

I2C数据设备,返回一个行向量。的参数指定行向量中元素的数量。

请注意

如果数据大于阅读uint8,低位优先的数据格式。

扩展功能