Stap 3: Wat Is I2C - 3
Op sommige apparaten I2C (of moet ik zeggen dat de meeste, het is heel gebruikelijk), het protocol voor toegang is ingesteld als een bank te registreren. Als u wilt lezen of schrijven van deze registers, moet u eerst een interne adres het adres van het register dat u wilt lezen of schrijven schrijven. Na het schrijven van een intern adres, u kan lezen of schrijven van meerdere bytes en het interne adres zal verhogen met elke byte. Dit is het voorkeursprotocol voor bijna alle I2C-geheugenapparaten, evenals de meeste sensoren en I/O Expander. Hoewel het mogelijk is om een protocol dat het register bank protocol niet volgen, het overgrote deel van apparaten doen en veel I2C-tools zijn gebouwd rond het. Als zodanig is het de moeite waard erop te wijzen. Het is ook het protocol dat ik op de ATTiny2313 uitvoeren zal.
Zoals eerder vermeld, moet u het apparaat intern adres, dat wordt gedaan door het uitvoeren van een write-bewerking van één byte, waarin het interne adres sturen voordat het lezen of wegschrijven van enig register. Voor schrijfbewerkingen, kan de overdracht doorgaan met gegevenswaarden, waarvan de eerste zal worden opgeslagen in het gewenste adres en eventuele aanvullende bytes naar boven zal verhogen met één telkens. Voor leest, zal de kapitein verzendt een stop-voorwaarde, dan start een nieuwe transmissie voor de lezing. Dit is omdat u kunt niet zowel een schrijven en een boek in de dezelfde overdracht hebben. In sommige gevallen een herhaalde start kan worden verzonden in plaats van een stop en start. Een herhaald start is de overgang van een hoog-op-laag op de SDA terwijl SCL hoog is.