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