gf_i2c_writeread()

Выполнение master-write/read транзакций на шине I2C

Прототип:

#include <gf/gf.h>
int gf_i2c_writeread( gf_dev_t gdev,
int busno,
int slaveaddr,
uint8_t *odata,
int obytes,
uint8_t *idata,
int ibytes );

Аргументы:

gdev
Дескриптор графического устройства для выполнения транзакции. Дескриптор создается посредством gf_dev_attach().
busno
Индекс шины I2C, на которой графическое устройство является мастером.
slaveaddr
Адрес устройства-адресата на шине I2C.
odata
Указатель на буфер, содержащий отправляемые данные.
obytes
Размер отправляемых данных (максимальный размер равен 128 байтам).
idata
Указатель на буфер, в который функция может сохранить принятые данные.
ibytes
Размер принимаемых данных (максимальный размер равен 128 байтам).

Библиотека:

gf

Описание:

Функция выполняет master-write/read транзакции на шине I2C. Выполняемая транзакция соответствует комбинированной передаче данных, согласно спецификации I2C. Обычно такие операции используются для одновременной записи адреса регистра или адреса памяти устройства с одновременным чтением их содержимого.


Warning: Не следует использовать данную функцию внутри блока кода, ограниченного вызовами gf_draw_begin() и gf_draw_end(). Это приведет к deadlock состоянию графического стека.

Возвращаемое значение:

GF_ERR_OK
Успешное завершение.
GF_ERR_PARM
Индекс busno выходит за границы (относительно указанного устройства), либо значение параметра gdev, пары idata и ibytes или пары odata и obytes равно NULL
GF_ERR_IODISPLAY
Ошибка коммуникации с io-display. Следует проверить запущен ли в настоящий момент сервер io-display. Вывод sloginfo может содержать дополнительную информацию.
GF_ERR_IO
Ошибка оборудования, возникшая при чтении данных от адресата. Вывод sloginfo может содержать дополнительную информацию.
GF_ERR_TOOBIG
Размер данных, указанный в ibytes или obytes, превышает максимум в 128 байт.

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Graphics Framework

Считается устаревшим, начиная с ЗОСРВ «Нейтрино» редакции 2020

Безопасность использования
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gf_i2c_read(), gf_i2c_write()




Предыдущий раздел: GF API