I2C_SLAVE propósito de ioctl

Estoy escribiendo código para implementar una @ simpi2c función de lectura / escritura usando el linux generali2c conductorlinux/i2c-dev.h

Estoy confundido acerca de laioctl : I2C_SLAVE

La documentación del kernel dice lo siguiente:

Puede hacer transacciones simples de i2c usando llamadas read (2) y write (2). No necesita pasar el byte de dirección; en su lugar, configúrelo a través de ioctl I2C_SLAVE antes de intentar acceder al dispositivo

Sin embargo, estoy usando elioctl I2C_RDWR donde nuevamente configuré la dirección del esclavo usandoi2c_msg.addr.

La documentación del kernel también menciona lo siguiente:

Algunas llamadas ioctl () son para tareas administrativas y son manejadas por i2c-dev directamente. Los ejemplos incluyen I2C_SLAVE

Así es necesario usar elioctl I2C_SLAVE? Si es así, ¿debo configurarlo solo una vez o cada vez que realizo una lectura y escritura?

Si tuviera uni2c dispositivo Podría haber probado el código en el dispositivo y no los habría molestado, pero desafortunadamente no tengo uno en este momento.

Gracias por la ayuda

Respuestas a la pregunta(6)

Su respuesta a la pregunta