Étape 3: Ce qui est I2C - 3
Sur certains périphériques I2C (ou devrais-je dire la plupart, il est très fréquent), le protocole d’accès est configuré comme un Registre Banque. Pour lire ou écrire à partir de ces registres, vous devez d’abord écrire une adresse interne , qui est l’adresse du registre que vous souhaitez lire ou écrire. Après avoir écrit une adresse interne, vous pouvez lire ou écrire des octets multiples, et l’adresse interne augmente avec chaque octet. C’est le protocole préféré de presque tous les dispositifs de mémoire I2C ainsi que la plupart de capteurs et d’i/o expandeurs. S’il est possible d’avoir un protocole qui ne respecte pas le protocole de Banque du Registre, la grande majorité des appareils font et beaucoup d’outils I2C est construits autour d’elle. Par conséquent, il est intéressant de souligner. C’est également le protocole que j’ai mettra en œuvre sur le ATTiny2313.
Comme mentionné auparavant, avant de lire ou d’écrire n’importe quel Registre, vous devez envoyer l' adresse interne de l’appareil, qui se fait en effectuant une opération d’écriture d’un octet, qui contient l’adresse interne. Pour les opérations d’écriture, la transmission peut continuer avec les valeurs de données, dont le premier sera stocké dans l’adresse souhaitée et les octets supplémentaires augmente vers le haut par un chaque fois. Pour les lectures, le maître va envoyer une condition d’arrêt, puis démarrer une nouvelle transmission pour la lecture. C’est parce que vous ne pouvez pas avoir aussi bien une écriture et une lecture dans la même transmission. Dans certains cas, un départ répété peuvent être envoyés au lieu d’un arrêt puis démarrez. Une reprise début est haut-à-basse transition sur SDA alors que SCL est élevé.