Outils pour utilisateurs

Outils du site


start:arduino:i2c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:arduino:i2c [2020/12/04 19:04] gerardadminstart:arduino:i2c [2023/02/03 10:45] (Version actuelle) – [Avenir de I2C ==> I3C] gerardadmin
Ligne 23: Ligne 23:
 Il existe cinq vitesses de transmission : Il existe cinq vitesses de transmission :
  
-    * Standard mode (Sm) » ≤ 100 kbit/s, +   *Standard mode (Sm) » ≤ 100 kbit/s, 
-    * Fast mode (Fm) » ≤ 400 kbit/s, +   *Fast mode (Fm) » ≤ 400 kbit/s, 
-    * Fast plus mode (Fm+) » ≤ 1 Mbit/s, +   *Fast plus mode (Fm+) » ≤ 1 Mbit/s, 
-    * High-speed mode (Hs-mode) » ≤ 3,4 Mbit/s, +   *High-speed mode (Hs-mode) » ≤ 3,4 Mbit/s, 
-    * Ultra-fast mode (UFm) » ≤ 5 Mbit/s, unidirectionnel uniquement.+   *Ultra-fast mode (UFm) » ≤ 5 Mbit/s, unidirectionnel uniquement.
  
 +
 +
 +==== Librairie Wire ====
 +
 +[[https://www.arduino.cc/en/Reference/Wire|Librairie I2C]]
  
 ===Description=== ===Description===
Ligne 66: Ligne 71:
 __Fonctions "mode esclave"__ __Fonctions "mode esclave"__
  
-    write() : envoie les données vers le maître après requête +    *write() : envoie les données vers le maître après requête 
-    available() : test si données disponibles en provenance du maître (cf onReceive) +    *available() : test si données disponibles en provenance du maître (cf onReceive) 
-    read() : lit données en provenance maître +    *read() : lit données en provenance maître 
-    onReceive(fonction) : définit la fonction à appeler sur réception de données en provenance du maître +    *onReceive(fonction) : définit la fonction à appeler sur réception de données en provenance du maître 
-    onRequest(fonction) : définit la fonction à appeler sur requête du maître +    *onRequest(fonction) : définit la fonction à appeler sur requête du maître 
  
 __Fonctions obsolètes__ __Fonctions obsolètes__
  
-    send() - obsolète +    *send() - obsolète 
-    receive() - obsolète +    *receive() - obsolète 
  
 __Principe d'utilisation__ __Principe d'utilisation__
Ligne 81: Ligne 86:
 Pour inclure la librairie Wire dans un programme, on ajoutera au début du programme la ligne suivante : Pour inclure la librairie Wire dans un programme, on ajoutera au début du programme la ligne suivante :
  
 +<code c>
 #include <Wire.h> #include <Wire.h>
 [$[Get Code]] [$[Get Code]]
 +</code>
  
 Pour ce faire, le plus simple est d'utiliser le menu du logiciel Arduino Programme > Importer Librairie > Nom_librairie Pour ce faire, le plus simple est d'utiliser le menu du logiciel Arduino Programme > Importer Librairie > Nom_librairie
Ligne 90: Ligne 97:
 __Note__ __Note__
  
-Il existe deux versions d'adresses I2C en 7 et en 8 bits. Les adresses 7 bits identifient le composant, les adresses 8 bits déterminent si on écrit ou on lit le composant. La librairie Wire utilise les adresses 7 bits. Si vous avez une fiche technique ou un exemple de code qui utilise des adresses 8 bits, vous devrez éliminer le bit de poids faible ( en décalant la valeur de l'adresse d'un bit vers la droite - voir notamment l'opérateur de décalage à droite >>), pour obtenir une adresse comprise entre 0 et 127.+Il existe deux versions d'adresses I2C en 7 et en 8 bits.  
 + 
 +    *Les adresses 7 bits identifient le composant,  
 +    *les adresses 8 bits déterminent si on écrit ou on lit le composant.  
 + 
 +La librairie Wire utilise les adresses 7 bits. Si vous avez une fiche technique ou un exemple de code qui utilise des adresses 8 bits, vous devrez éliminer le bit de poids faible ( en décalant la valeur de l'adresse d'un bit vers la droite - voir notamment l'opérateur de décalage à droite >>), pour obtenir une adresse comprise entre 0 et 127.
  
  
Ligne 105: Ligne 117:
  
 [[https://www.aranacorp.com/fr/gerez-plusieurs-arduino-avec-un-bus-i2c/|Plusieurs cartes Arduino Pilotées par Bus I2C]] [[https://www.aranacorp.com/fr/gerez-plusieurs-arduino-avec-un-bus-i2c/|Plusieurs cartes Arduino Pilotées par Bus I2C]]
 +
 +
 +====== Avenir de I2C ==> I3C ======
 +
 +[[https://www.elektormagazine.fr/articles/le-nouveau-protocole-i3c?utm_source=Elektor%20France&utm_campaign=c00747fbc8-EMAIL_CAMPAIGN_2_2_2023_15_45&utm_medium=email&utm_term=0_d07ac534c3-c00747fbc8-[LIST_EMAIL_ID]&mc_cid=c00747fbc8| I3C l'avenir de I2C ?]] 
 +
 +[[https://www.elettroamici.org/fr/da-i2c-a-i3c/ |Depuis I2C I3C ]]
 +
 +[[start:arduino:I3C|I3C]]
/home/chanteri/www/fablab37110/data/attic/start/arduino/i2c.1607105073.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)