Ligne 6 : |
Ligne 6 : |
| Cet article reprends différentes notes utilises à ce sujet. | | Cet article reprends différentes notes utilises à ce sujet. |
| | | |
− | {{traduction}}
| |
| Revoir la définition des finitions | | Revoir la définition des finitions |
| [https://docs.micropython.org/en/latest/library/machine.I2C.html https://docs.micropython.org/en/latest/library/machine.I2C.html] | | [https://docs.micropython.org/en/latest/library/machine.I2C.html https://docs.micropython.org/en/latest/library/machine.I2C.html] |
Ligne 143 : |
Ligne 142 : |
| | | |
| Ces méthodes ne sont disponibles que pour les bus I2C logiciels. | | Ces méthodes ne sont disponibles que pour les bus I2C logiciels. |
| + | |
| + | <div style="margin: 15px 0; background: rgba(0,192,240,.3); display: block; padding: 15px 15px 15px 15px; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; border: 1px solid #CCC;" >Le protocole I2C prévoit des conditions de départ (START) et d'arrêt (STOP) qui signal l'envoi d'une nouvelle trame de donnée sur le bus. |
| + | |
| + | Ces conditions correspondent à des niveaux particuliers des signaux SDA et SCL. |
| + | |
| + | {{underline|Condition START}}:<br />correspond au passage du signal SDA du niveau HAUT vers BAS pendant que le signal SCL reste au niveau haut. |
| + | |
| + | {{underline|Condition STOP}}:<br />correspond au passage du signal SDA du niveau BAS vers HAUT pendant que le signal SCL reste au niveau haut.</div> |
| | | |
| ==== i2c.start() ==== | | ==== i2c.start() ==== |
Ligne 170 : |
Ligne 177 : |
| | | |
| === Opérations standard du bus === | | === Opérations standard du bus === |
− | {{traduction}}
| |
− |
| |
| Les méthodes suivantes implémente les opérations standard du Maître (Leader) du bus I2C. Cela concerne les opération de lecture (''read'') et d'écriture (''write'') à destination d'un périphérique Esclave (Suiveur). | | Les méthodes suivantes implémente les opérations standard du Maître (Leader) du bus I2C. Cela concerne les opération de lecture (''read'') et d'écriture (''write'') à destination d'un périphérique Esclave (Suiveur). |
| | | |
Ligne 188 : |
Ligne 193 : |
| i2c.readfrom_into(addr, buf, stop=True) | | i2c.readfrom_into(addr, buf, stop=True) |
| | | |
− | {{translate}} | + | Lit des données depuis l'esclave à l'adresse {{fname|addr}} et stocke les données dans la mémoire tampon {{fname|buf}}. Le nombre d'octets lus sur le bus correspond à la taille de {{fname|buf}}. |
− | Read into {{fname|buf}} from the slave specified by {{fname|addr}}. The number of bytes read will be the length of buf.
| |
| | | |
− | If {{fname|stop}} is {{fname|True}} then a STOP condition is generated at the end of the transfer.
| + | Si le paramètre {{fname|stop}} est {{fname|True}} alors la condition d'arrêt (STOP) est généré à la fin du transfert I2C. |
| | | |
− | The method returns {{fname|None}}.
| + | La méthode retourne {{fname|None}}. |
| | | |
− | * '''addr''' l'adresse depuis laquelle les données seront réceptionnées. | + | * '''addr''' l'adresse de l'esclaver depuis lequel les données seront réceptionnées. |
− | * '''buf''' | + | * '''buf''' la mémoire tampon (type {{fname|bytes}}) dans lequel les donnéees seront écrite. La taille de {{fname|buf}} détermine le nombre d'octets lu sur le bus. |
− | * '''stop'''& xxx . | + | * '''stop''' indique s'il faut générer une condition d'arrêt sur le bus après réception des données. |
| | | |
| ==== I2C.writeto(...) ==== | | ==== I2C.writeto(...) ==== |
| i2c.writeto(addr, buf, stop=True) | | i2c.writeto(addr, buf, stop=True) |
| | | |
− | Write the bytes from {{fname|buf}} (objet de type {{fname|bytes}} to the slave specified by {{fname|addr}}.
| + | Ecrit les octets présents le paramètre {{fname|buf}} (objet de type {{fname|bytes}} vers l'esclave mentionné dans le paramètre {{fname|addr}}. |
| | | |
− | If a '''NACK''' is received following the write of a byte from buf then the remaining bytes are not sent.
| + | Si un '''NACK''' est récu suite à l'écriture d'un octet de {{fname|buf}} alors le restant des octets n'est pas envoyé sur le bus. |
| | | |
− | If {{fname|stop}} is {{fname|True}} then a STOP condition is generated at the end of the transfer, even if a '''NACK''' is received.
| + | Si {{fname|stop}} est {{fname|True}} alors la condition d'arrêt (STOP) est généré à la fin du transfert, même si un '''NACK''' est recu durant le transfert. |
| | | |
− | The function returns the number of '''ACK'''s that were received.
| + | La fonction retourne ne nombre de '''ACK''' réceptionné durant le transfert. |
| | | |
| * '''addr''' l'adresse vers laquelle les données seront envoyées. | | * '''addr''' l'adresse vers laquelle les données seront envoyées. |
− | * '''buf''' | + | * '''buf''' la mémoire tampon (type {{fname|bytes}}) depuis lequel les données seront lue. La taille de {{fname|buf}} détermine le nombre d'octets envoyé sur le bus. |
− | * '''stop''' xxx . | + | * '''stop''' indique s'il faut générer une condition d'arrêt sur le bus après réception des données. |
| | | |
| === Opérations mémoire === | | === Opérations mémoire === |
− | Some I2C devices act as a memory device (or set of registers) that can be read from and written to. In this case there are two addresses associated with an I2C transaction: the slave address and the memory address. The following methods are convenience functions to communicate with such devices.
| + | Certains périphériques I2C fonctionnent comme des mémoires (ou ensemble de registres) qu'il est possible de lire ou dans lesquels il est possible d'écrire. |
| + | |
| + | Dans ce cas, il y a deux adresses associées avec le périphérique I2C: |
| + | * Une adresses esclave I2C |
| + | * Une adresse mémoire. |
| + | |
| + | Les méthodes suivantes sont concçue pour communiquer avec de les périphériques. |
| | | |
| ==== I2C.readfrom_mem(...) ==== | | ==== I2C.readfrom_mem(...) ==== |
| I2C.readfrom_mem(addr, memaddr, nbytes, *, addrsize=8) | | I2C.readfrom_mem(addr, memaddr, nbytes, *, addrsize=8) |
| | | |
− | Read {{fname|nbytes}} from the slave specified by {{fname|addr}} starting from the memory address specified by {{fname|memaddr}}.
| + | Lecture de {{fname|nbytes}} octets depuis l'esclave indiqué à l'adresse {{fname|addr}} starting from the memory address specified by {{fname|memaddr}}. |
| | | |
− | The argument {{fname|addrsize}} specifies the address size in bits.
| + | L'argument {{fname|addrsize}} permet de spécifié le nombre de bits d'adresse. |
| | | |
− | Returns a {{fname|bytes}} object with the data read.
| + | Retourne un objet de type {{fname|bytes}} avec les données lue sur le bus. |
| | | |
| ==== I2C.readfrom_mem_into(...) ==== | | ==== I2C.readfrom_mem_into(...) ==== |
| i2c.readfrom_mem_into(addr, memaddr, buf, *, addrsize=8) | | i2c.readfrom_mem_into(addr, memaddr, buf, *, addrsize=8) |
| | | |
− | Read into {{fname|buf}} from the slave specified by {{fname|addr}} starting from the memory address specified by {{fname|memaddr}}.
| + | Lit des octets depuis un esclave accessible à l'adresse {{fname|addr}} en débutant la lecture à l'adresse {{fname|memaddr}} et stocke les octets dans la mémoire tampon {{fname|buf}}. |
| | | |
− | The number of bytes read is the length of {{fname|buf}}.
| + | Le nombre d'octers lu correspond à la taille de mémoire tampon {{fname|buf}} (objet de type {{fname|bytes}}. |
| | | |
− | The argument {{fname|addrsize}} specifies the address size in bits (on ESP8266 this argument is not recognised and the address size is always 8 bits).
| + | L'argument {{fname|addrsize}} spécifie la taille de l'adresse (en bits). Sur un ESP8266, cet argument n'est pas reconnu et la taille de l'adresse est toujours de 8 bits. |
| | | |
− | The method returns {{fname|None}}.
| + | La méthode retourne {{fname|None}}. |
| | | |
| ==== I2C.writeto_mem(...) ==== | | ==== I2C.writeto_mem(...) ==== |
| i2c.writeto_mem(addr, memaddr, buf, *, addrsize=8) | | i2c.writeto_mem(addr, memaddr, buf, *, addrsize=8) |
| | | |
− | Write {{fname|buf}} to the slave specified by {{fname|addr}} starting from the memory address specified by {{fname|memaddr}}.
| + | Ecrit le contenu de {{fname|buf}} (un objet de type {{fname|bytes}}) vers l'esclave identifié par l'adresse {{fname|addr}} en débutant à l'adresse mémoire indiquée par l'argument {{fname|memaddr}}. |
| | | |
− | The argument {{fname|addrsize}} specifies the address size in bits (on ESP8266 this argument is not recognised and the address size is always 8 bits).
| + | L'argument {{fname|addrsize}} mentionne la taille de l'adresse en bit (sur ESP8266 cet argument n'est pas reconnu et l'adresse est toujours en 8 bits). |
| | | |
− | The method returns {{fname|None}}.
| + | La méthode retourne {{fname|None}}. |
| | | |
| === Constantes === | | === Constantes === |