I2C Master Read
Read data from I2C slave device or I2C slave device register
Add-On Required: This feature requires the Simulink Coder Support Package for NXP FRDM-KL25Z Board add-on.
Libraries:
Simulink Coder Support Package for NXP FRDM-KL25Z Board/FRDM-KL25Z
Description
The I2C Master Read block reads serial data from an I2C slave device that is connected to the board. Using this block, you can read data from a specific register on the I2C slave device.
For more information on I2C communication, see Support I2C Communication.
Examples
Ports
Output
Data — Data that the block reads from the I2C slave device
vector
The block reads vector data from an I2C device on the board. The size of the data is the value that you specify in the Data size parameter.
Data Types: int8
| uint8
| int16
| uint16
| int32
| uint32
| single
| double
Status — Status of the read operation
scalar
When you select the Output error status parameter,
the block configures an output port. The port on the block is labeled
as Status
, indicating that the block outputs the
status of the read operation at the output port.
The block outputs the status as a uint8
value.
Each value corresponds to a data transfer status.
Status value | Status description |
---|---|
0 | SUCCESS |
1 | BUSY |
2 | ARBITRATION_LOST |
4 | NO_ACKNOWLEDGE |
8 | I2C_BUS_ERROR |
Data Types: uint8
Parameters
I2C module — I2C module to read data
0
(default) | 1
Specify the I2C module on the board from which you want to read data from the I2C slave device.
Slave address — The I2C register slave address from which to read data
10
(default) | integer between 0 and 127
Specify the I2C slave address from which you want to read the
data. You can specify this address in hexadecimal format hex2dec()
,
for example, ‘hex2dec(‘20’)’.
Slave byte order — The byte ordering that your I2C slave device supports
BigEndian
(default) | LittleEndian
The 2-byte ordering options are:
BigEndian - The most significant byte is sent first over the I2C bus.
LittleEndian - The least significant byte is sent first over the I2C bus.
Enable register access — Option to read from a specific I2C slave register
on (default) | off
When you select this parameter, the block reads data from the I2C slave register that you specify in the Slave register address parameter.
When you clear this parameter, the Send NACK at the end of data transfer and Remove stop bit at the end of data transfer parameters are displayed. Using these parameters, you can modify the read operation according to your requirements.
Slave register address — The I2C slave register address to read data
0
(default) | integer between 0 and 255
Specify the I2C register address from which you want to read the data.
Specify this address as an integer or in hexadecimal format
by using hex2dec()
, for example, ‘hex2dec(‘20’)’.
For more information on register read/write, see I2C Register Read/Write.
Dependencies
This parameter appears only when you select Enable register access parameter.
Data size (N) — The data size to read from the I2C slave device
1
(default) | integer greater than or equal to 0
Specify the data size that you want to read from the I2C slave device for the selected data type.
Data type — The data type of data from the I2C slave device
uint8
(default) | int8
| int16
| uint16
| int32
| uint32
| single
| double
Select the data type in which you want to read from the I2C slave device.
Send NACK at the end of data transfer — Option to send Not Acknowledge bit at the end of data transfer
off (default) | on
When you select this parameter, the I2C Master Read block sends a NACK (Not Acknowledge) bit to the slave device with the final byte.
When the slave device receives the NACK, it waits for a STOP condition from the I2C master block. The master block generates either a STOP condition to abort the transfer or a repeated START condition to start a new transfer.
When you clear this parameter, the I2C Master Read block sends an ACK (Acknowledge) bit to the slave device at the end of every byte. The ACK indicates that the I2C Master Read block is ready to read the next byte from the slave device.
Dependencies
This parameter appears only when you clear Enable register access parameter.
Remove stop bit at the end of data transfer — Option to remove STOP bit at the end of data transfer
off (default) | on
When you clear this parameter, the block sends a STOP condition. This condition indicates that the block has terminated the data transmission and that the I2C bus is free for any other I2C master block to initiate the new read/write operation.
When you select this parameter, the block sends another START condition followed by an address and read/write bit. The block sends any number of start conditions recursively. Such a repeated START condition allows write operations to the slave devices without releasing the bus. No other master block interrupts the operation.
Dependencies
This parameter appears only when you clear Enable register access parameter.
Output error status — Option to display the error status during data transmission
off (default) | on
When you select this parameter, the block configures an output
port. The port on the block is labeled as Status
,
indicating that the block outputs the status of the write operation
at the output port.
The block outputs the status as a uint8
value.
Each value corresponds to a data transfer status.
Status value | Status description |
---|---|
0 | SUCCESS |
1 | BUSY |
2 | ARBITRATION_LOST |
4 | NO_ACKNOWLEDGE |
8 | I2C_BUS_ERROR |
Sample time — The frequency to read data from the I2C slave device
0.1
(default)
Specify how often the I2C Master Read block reads
data from the I2C slave device. When you specify this parameter as-1
,
the block inherits its sample time based on the context of the block
within the model.
Version History
Introduced in R2016b
See Also
MATLAB-Befehl
Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)