Выполнение 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. Обычно такие операции используются для одновременной записи адреса регистра или адреса памяти устройства с одновременным чтением их содержимого.
 | Не следует использовать данную функцию внутри блока кода, ограниченного вызовами 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