Выполнить запись с последующим чтением из slave устройства
#include <hw/i2c.h>#define DCMD_I2C_SENDRECV __DIOTF( _DCMD_I2C, 7, i2c_sendrecv_t )
DCMD_I2C_SENDRECV
.NULL
.libi2c-master
Команда используется в сочетании с вызовом devctl(), а все перечисленные аргументы являются его типовыми параметрами. Команда выполняет передачу с последующим чтением из slave устройства. Эта последовательность обычно используется для чтения значения регистра ведомого устройства. Когда несколько приложений обращаются к одному и тому же ведомому устройству, необходимо выполнять эту последовательность атомарно, чтобы предотвратить прерывание чтения регистра. Хотя эта функциональность также обеспечивается DCMD_I2C_SEND и DCMD_I2C_RECV, ее реализация намного проще.
i2c_sendrecv_t - заголовок сообщения (не изменяется);
uint8_t
[] - полученные данные в буфере.
i2c_sendrecv_t - заголовок сообщения;
uint8_t
[] - указатель на буфер, содержащий данные отправки и получения (Должен быть достаточно большим, чтобы вместить полученные данные).
ЗОСРВ «Нейтрино»
Предыдущий раздел: Библиотека разработки I²C драйверов