No entiendo por qué hay escritura ficticia en la operación de lectura. Por favor, ayúdame con la explicación.
gracias,
No entiendo por qué hay escritura ficticia en la operación de lectura. Por favor, ayúdame con la explicación.
gracias,
Una transacción I2C es (todo) lectura o (todo) escritura. Por lo tanto, para un dispositivo esclavo I2C que tiene más de 1 registro y que quiere admitir la lectura individual de esos registros, debe haber un mecanismo para especificar la dirección del registro que se lee. Pero esto no se puede hacer en la transacción de lectura, porque todo el flujo de datos en una transacción de lectura es de esclavo a maestro.
La salida de este dilema es definir que la (s) primera (s) palabra (s) en una transacción de escritura define la dirección del registro afectado, tanto para escribir como para leer . Por lo tanto, para leer el registro N, primero escribe en el registro N, pero no escribes nada: la transacción (de escritura) consiste solo en la dirección N. Pero el dispositivo recuerda N, y cuando haces una lectura posterior, El dispositivo proporcionará los datos en la dirección N.
Por lo tanto, la escritura no es fácilmente una transacción ficticia (no funcional): establece la dirección de lectura.
Lea otras preguntas en las etiquetas i2c