I2C_SLAVE ioctl предназначение

Я пишу код для реализации простогоi2c функция чтения / записи с использованием общего Linuxi2c Водительlinux/i2c-dev.h

Я смущенioctl : I2C_SLAVE

Документация ядра гласит следующее:

Вы можете выполнять простые транзакции i2c, используя вызовы read (2) и write (2). Вам не нужно передавать адрес байта; вместо этого установите его через ioctl I2C_SLAVE, прежде чем пытаться получить доступ к устройству

Однако я используюioctl I2C_RDWR где я снова установить адрес ведомого с помощьюi2c_msg.addr.

В документации ядра также упоминается следующее:

Некоторые вызовы ioctl () предназначены для административных задач и обрабатываются непосредственно i2c-dev. Примеры включают I2C_SLAVE

Так что это должно использоватьioctl I2C_SLAVE? Если да, нужно ли устанавливать его только один раз или каждый раз, когда я выполняю чтение и запись?

Если бы у меня былi2c Устройство Я мог бы просто протестировать код на устройстве и не беспокоить вас, ребята, но, к сожалению, у меня его сейчас нет.

Спасибо за помощь.

Ответы на вопрос(3)

Ваш ответ на вопрос