Main Content

enableI2C

Enable I2C interface

Description

example

enableI2C(bbb,bus_number)enables the indicated I2C bus and configures the GPIO pins for use as I2C pins. After you start the hardware, thei2c-1bus is enabled by default.

Examples

collapse all

You can connect and exchange data with an I2C device on I2C bus1.

Create a connection from the MATLAB®software to the BeagleBone®黑色的硬件。

bbb = beaglebone
bbb = beaglebone with properties: DeviceAddress: '192.168.7.2' BoardName: 'BeagleBone Black Rev 00C0' AvailableLEDs: {'USR0' 'USR1' 'USR2' 'USR3'} AvailableDigitalPins: {1x29 cell} AvailableAnalogPins: {'AIN0' 'AIN1' 'AIN2' 'AIN3' 'AIN4' 'AIN5' 'AIN6'} AvailablePWMPins: {} AvailableSPIChannels: {} AvailableI2CBuses: {'i2c-1'} AvailableSerialPorts: {} AvailableWebcams: {}

Enable I2C bus1.

enableI2C(bbb,1)

DisplayAvailableI2CBuses.

bbb.AvailableI2CBuses
ans = 'i2c-1' 'i2c-2'

AvailableI2CBusesdisplays default bus2asi2c-1. The1is an internal index number. When you enable bus1,AvailableI2CBusesdisplays it asi2c-2.

After physically connecting your I2C device to the I2C bus1pins, get the addresses of two I2C devices attached to I2C bus1.

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

Create a connection,i2csensor, from the MATLAB software to the I2C sensor at'0x20'.

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

Read twouint8numbers from the sensor.

output1 = read(i2csensor,2);

Read the value of register 14 from the sensor.

output2 = readRegister(i2csensor,14);

Create a connection,i2cdisplay, from the MATLAB software to an I2C LED display at'0x55'.

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

Write characters to the display.

write(i2cdisplay,[hex2dec('20') hex2dec('51')])

Write a scalar hexadecimal value,hex2dec('08'), to register 3 on an I2C device.uint8is the default data type.

writeRegister(i2cdisplay,3,hex2dec('08'))

Input Arguments

collapse all

BeagleBone Black connection created usingbeaglebone, specified as an object.

The bus number identifies the I2C bus being enabled. By default, bus2is always enabled.

AvailableI2CBusesdisplays default bus2asi2c-1. The1is an index number. When you enable bus1,AvailableI2CBusesdisplays it asi2c-2.

I2C bus1shares pins with SPI bus0.

Example:1

Introduced in R2015a